class A(object):
def __init__(self):
self.x = 'Hello'
def method_a(self, foo):
print self.x + ' ' + foo
a = A()
1. self
self
는 객체의 인스턴스 그 자체를 의미합니다. 대부분 객체지향 언어는 이걸 메소드에 안 보이게 전달하지만 파이썬에서 클래스의 메소드를 정의할 때는 self
를 꼭 명시해하고 그 메소드를 불러올 때 self
는 자동으로 전달됩니다.
2. __init__
__init__
은 파이썬에서 쓰이는 생성자입니다.
위의 코드에서 A()
는 생성자 __init__
에 어떤 파라미터도 넘기지 않고, 그 결과로 A타입의 객체를 생성해 이를 반환받습니다.
A(24, 'Hello'))
와 같이 쓰면 파라미터 2개를 받는 생성자가 필요한데 현재 __init__
은 그 어떤 파라미터도 받지 않으니 exception이 발생합니다.
'Python and AI > python' 카테고리의 다른 글
[],(),{}의 차이 (0) | 2019.08.30 |
---|---|
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 해결 방법 (0) | 2019.08.30 |
Python zip 함수 사용법 (0) | 2019.08.26 |
할당연산자 (0) | 2019.08.26 |
Python에서 version 2와 3의 차이 (0) | 2019.08.25 |