어떻게 첫 번째 예에서 __str__
방법은 self.foo
가 정의되지 않은 성공적으로 문자열을 반환한다는 것입니다 :효과
class foo:
foo = 'K-Dawg'
def __str__(self):
return self.foo
obj = foo()
print obj
#K-Dawg
을 그리고 클래스 생성자 메서드를 만들 때 __init__
는이 생성됩니다
AttributeError: foo instance has no attribute 'foo'
class foo:
def __init__(self):
foo = 'K-Dawg'
def __str__(self):
return self.foo
obj = foo()
print obj
self.foo
이 첫 번째 예에서는 성공적으로 반환되고 두 번째 예에서는 성공적으로 반환되지 않는 이유는 무엇입니까?
클래스 생성자는 속성에 어떤 영향을 미칩니 까?
편집 : 첫 번째 예제의 속성 foo
사용 호출 할 얻을 수 있다는 이유 나는 foo = 'K-Dawg'
self.foo = 'K-Dawg'
에 변경하면 성공적으로 K-개같은를 인쇄 할 것이라는 점을 알고있다, 그러나 내가 부탁 해요 것은 않습니다 self.foo
'__init__'은 (는) 사이드 노트에 단지 생성자가 아닙니다. – Hyperboreus