self가 반드시 필요한 것은 아니다
self를 안 쓰고 쓰는 차이는
클래스 변수, 메소드와 인스턴스의 변수, 메소드중 뭘 만드는 가이다.
class WhySelf: class_variable = 1 def __init__(self): self.instance_variable = 2 def instance_func(self): print('instance_func') def class_func(): print('class_func') //클래스 함수, 변수 사용 WhySelf.class_func() print(WhySelf.class_variable) //인스턴스 함수, 변수 사용 x = WhySelf() x.instance_func() WhySelf.instance_func(x) #x.class_func() print(x.class_variable) print(x.instance_variable)
약간 방향이 다르지만
비슷한 주제에 관한
파이썬 제작자 답변도 읽을 만 하다.
http://neopythonic.blogspot.kr/2008/10/why-explicit-self-has-to-stay.html
'python' 카테고리의 다른 글
scrapy install error (0) | 2018.04.29 |
---|---|
덕 타이핑(Duck typing) (0) | 2018.04.29 |
타입 힌팅(type hinting) (0) | 2018.04.28 |
mutable과 immutable한 객체 (0) | 2018.04.28 |
(19)번역 api 사용 후기 (0) | 2018.04.07 |