이렇게 할 수있는 방법이 있습니까? 클래스 속성 상속 (파이썬)
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
는 내가 직접
__class__
를 호출 할 수 없습니다 알고 ... 파이썬에서 작동하지만 나는 어떤 프로그래밍 언어로 그것을 할 수있는 방법이 있는지 모르겠습니다. 그 클래스의 속성에 따라 다르게 행동하게하고 싶기 때문에 클래스 자체에 대한 참조와 같은 것을 원할 것이기 때문에 그 예일뿐입니다. 이 같은
그리고 가정 출력해야한다 :
> Parent.class_method()
"parent"
> Child.class_method()
"child"
나는 같은 기술은 인스턴스를 통해 수행 할 수 있습니다 알고 있습니다. 하지만 때로는 __init__
메서드 내의 코드가 길어서 까다로울 수 있으므로 class_method
을 자주 호출하려고하기 때문에이 메서드 호출을 위해 사용 된 인스턴스를 많이 만들어야하기 때문에 인스턴스를 만들고 싶지 않습니다. class_attribute
및 class_method
은 정적이므로 인스턴스별로 변경되지 않습니다.
당신은 단순히'정적'함수에 대해 이야기하고 있습니까? – Tigran