변수 내부와 외부의 구별 탐구 __init__()
다음 두 클래스를 고려하세요.
<code class="python">class WithClass (): def __init__(self): self.value = "Bob" def my_func(self): print(self.value) class WithoutClass (): value = "Bob" def my_func(self): print(self.value)</code>
언뜻 보기에 이러한 클래스는 동일해 보입니다. 그러나 값 변수의 배치에는 미묘한 차이가 있습니다. 첫 번째 클래스(WithClass)에서는 값이 __init__() 메서드 내에서 초기화되는 반면, 두 번째 클래스(WithoutClass)에서는 메서드 외부에서 선언됩니다.
__init__() 외부 변수(클래스 속성) 대 __init__() 내부 변수(인스턴스 속성)
변수의 배치에 따라 클래스 속성인지 인스턴스 속성인지가 결정됩니다.
배치 결과
이러한 구별은 코드 동작 및 유지 관리에 영향을 미칩니다.
배치 선택
변수를 배치할 위치는 어떻게 배치하느냐에 따라 달라집니다. 클래스 내에서 작동하기를 원합니다. 인스턴스 전체에서 일정하게 유지되는 공유 값을 원한다면 클래스 속성을 사용하세요. 각 인스턴스에 대해 고유한 값을 원하는 경우 인스턴스 속성으로 __init__() 내에 생성하세요.
__init__() 내부 변수와 외부 변수의 차이점을 이해하면 명확하고 예측 가능한 동작으로 클래스를 설계할 수 있습니다. 잠재적인 혼란과 함정을 피하세요.
위 내용은 Python에서 `__init__()` 내부와 외부에 정의된 변수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!