본문 바로가기
Language/Python

[Python] 클래스 2 / 예제로 공부하는 Python 100 문제풀이

by 애기 개발자 2022. 5. 24.
반응형

2022.05.17 - [개발/Python] - [Python] 클래스 / 예제로 공부하는 Python 100 문제풀이

 

[Python] 클래스 / 예제로 공부하는 Python 100 문제풀이

클래스는 파이썬을 OOP로서의 기능을 사용하게 해주는 도구이다. C++/C#/JAVA와 같이 객체 지향 언어로서 사용이 가능하다는 것이다. 1. 클래스 클래스는 변수와 메서드를 갖고 있다. 변수는 다들 알

baby-dev.tistory.com

 

기존에 이어서 계속 진행한다

 

오늘은 클래스의 self 파라미터에 대해서 보겠다.

 

class Pet:
    def dog(self):
        print("멍")
        
    def cat(self):
        print("냥")
    
    def hamster(self):
        print("찍")
        
p1 = Pet()
p1.dog()

p2 = Pet()
p2.cat()

p3 = Pet()
p3.hamster()
'''
멍
냥
찍
'''

 

위에 보면 Pet 클래스 안에 있는 각 함수마다

 

(self) 값을 넣어주었다.

 

기존에 그냥 함수에서 사용하듯

 

 def func():
 	print("Something Special...")

위처럼 파라미터 칸을 빈 값으로 두고 하면 에러가 발생한다.

 

클래스 내부에 선언한 함수는 반드시 self 값을 넣어 주어야 한다.

 

p1 = Pet()
p1.dog()

p2 = Pet()
p2.cat()

p3 = Pet()
p3.hamster()

p1, p2, p3 각 변수마다 클래스를 새로 할당해주고

 

각각 별개로 함수를 호출하면

 

지금 예제는 단순히 print()만 할 뿐이지만 각각 별개의 객체로서 값을 저장한다

 


#이름과 나이를 전달받아 객체를 생성하는 Person클래스

class Person:
    def create_info(self, name, age):
        self.name = name
        self.age = age
        
    def print_info(self):
        print(self.name, ", ", self.age)

p1 = Person()
p1.create_info('kim', 27)
p1.print_info()

위는 Person 클래스 안에 생성하는 함수, 출력하는 함수를 각각 만들어 준 것이다.

 

p1이라는 변수가 클래스 안의 self로 저장되어

 

print_info()를 했을 때 별도로 선언해주지 않아도 p1이라는 변수의 객체에 이미 create_info()해준 값이 저장되어있어

 

해당 값을 self.name, self.age로 불러올 수 있는 것이다.

 

27 클래스 2.py

반응형

댓글