반응형
2022.05.17 - [개발/Python] - [Python] 클래스 / 예제로 공부하는 Python 100 문제풀이
기존에 이어서 계속 진행한다
오늘은 클래스의 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로 불러올 수 있는 것이다.
반응형
'Language > Python' 카테고리의 다른 글
[Python] TypeError: 'list' object is not callable 에러 (1) | 2022.07.19 |
---|---|
[Python] 클래스 3 / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.05.30 |
[Python] 클래스 / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.05.17 |
[Python] 랜덤 모듈 / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.05.17 |
[Python] 함수(2) / 예제로 공부하는 Python 100 문제풀이 (0) | 2022.05.09 |
댓글