인스턴스 및 클래스 속성은 처음에는 이해하기 어려울 수 있습니다. 그것에 대해 생각하는 가장 좋은 방법은 이름에주의하는 것입니다.
인스턴스 속성은 클래스의 특정 인스턴스에서 소유합니다. 즉, 이러한 속성은 특정 클래스의 인스턴스마다 다를 수 있습니다.
한편 클래스 속성은 클래스 자체가 소유하므로 속성은 특정 클래스의 각 인스턴스에 대해 동일한 값을 갖습니다.
예에서 var
은 모든 인스턴스에 대한 클래스 속성이 MyClass
입니다. 그러나 var
이 지정된 인스턴스 (예 : this_obj.var = 69
)에 대해 다른 값으로 설정되면 this_obj.var
은 this_obj
인스턴스에 대한 인스턴스 속성이됩니다. 의미, 인스턴스 속성은 모든 인스턴스의 클래스 속성을 변경할 때 만들어집니다.
희망 하시겠습니까?
EDIT : 클래스 속성 값 자체를 변경할 수도 있습니다. 즉, 특정 속성에 대한 인스턴스 속성이없는 모든 인스턴스에 대해 변경됩니다. 예를 들어 MyClass.var = 34
은 인스턴스 속성을 아직 만들지 않은 모든 인스턴스 MyClass
의 값을 변경합니다.
[Python : 클래스 및 인스턴스 속성의 차이점] 가능한 복제본 (https://stackoverflow.com/questions/207000/python-difference-between-class-and-instance-attributes) –