클래스 및 인스턴스 속성: __init__() 내부 및 외부 변수
객체 지향 프로그래밍에서는 클래스 속성과 인스턴스 속성이 매우 중요합니다. 역할. 하지만 변수를 __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>
__init__() 외부 변수
__init__() 외부에서 정의된 변수 클래스에 속합니다. 해당 클래스에서 생성된 모든 인스턴스에 공통됩니다. 예를 들어, WithoutClass 클래스에서:
<code class="python">WithoutClass.value = "Bob"</code>
WithoutClass 클래스의 인스턴스를 통해 이 변수에 액세스하면 동일한 값 "Bob"이 반환됩니다.
Variables Inside __init__()
반대로 self.라는 접두사가 붙은 __init__() 내부에 정의된 변수는 각 개별 개체에 속합니다. __init__() 내에서 변수를 설정하면 해당 객체에 특정한 인스턴스 속성이 됩니다.
<code class="python">WithClass().value = "Alice" # Unique to this instance</code>
WithClass 클래스의 다른 인스턴스에서 이 동일한 변수에 액세스하면 다른 값이 생성됩니다.
<code class="python">WithClass().value = "Bob" # Unique to this instance</code>
의미
변수 선언 위치 선택은 해당 동작에 영향을 미칩니다.
위 내용은 귀하의 기사에 적합한 몇 가지 질문 기반 제목은 다음과 같습니다. * 클래스 속성과 인스턴스 속성: Python에서 변수를 어디에서 정의해야 합니까? * Python 객체 지향 프로그래밍: 클래스 속성을 사용하는 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!