이 질문은 비슷하지만 정적 메서드와 관련이 있습니다. In Python, how do I reference a class generically in a static way, like PHP's "self" keyword?Python : 일반적으로 인스턴스 메서드에서 클래스에 대한 참조?
인스턴스 메서드에서 클래스를 일반적으로 어떻게 참조합니까?
#!/usr/bin/python
class a:
b = 'c'
def __init__(self):
print(a.b) # <--- not generic because you explicitly refer to 'a'
@classmethod
def instance_method(cls):
print(cls.b) # <--- generic, but not an instance method
나는 이것이 파이썬 3 코드라고 생각했다. (올바른 생각으로 누가 옛 스타일의 클래스를 사용할 것인가?). 파이썬 2에 대한 설명으로 업데이트되었습니다. 구식 ** 및 ** 새 스타일 클래스를 모두 지원하려면'__class__'을 사용하십시오. – phihag
+1 2.7에서 개체를 상속하지 않을 때 이것이 올바른지 확인합니다. 왜 누군가는 \ _ \ _ class \ _ \ _보다 type()을 선호합니까? – pokstad
@pokstad : 밑줄이 많이 없습니다 : D 또한, 객체는 어리석은 일을하고'__class__'를 오버라이드 할 수 있지만'type'을 속일 수는 없습니다. – delnan