클래스 변수 대 인스턴스 변수
파이썬에서 클래스 __init__ 함수 외부의 모든 변수는 클래스 변수이고 내부 변수는 인스턴스 변수입니다. 아래 코드를 살펴보면 클래스 변수와 인스턴스 변수의 차이점을 더 잘 이해할 수 있습니다.
예시
class MyClass: stat_elem = 456 def __init__(self): self.object_elem = 789 c1 = MyClass() c2 = MyClass() # Initial values of both elements >>> print c1.stat_elem, c1.object_elem 456 789 >>> print c2.stat_elem, c2.object_elem 456 789 # Let's try changing the static element MyClass.static_elem = 888 >>> print c1.stat_elem, c1.object_elem 888 789 >>> print c2.stat_elem, c2.object_elem 888 789 # Now, let's try changing the object element c1.object_elem = 777 >>> print c1.stat_elem, c1.object_elem 888 777 >>> print c2.stat_elem, c2.object_elem 888 789