파이썬 클래스 변수와 인스턴스 변수의 차이점

爱喝马黛茶的安东尼
풀어 주다: 2019-06-24 10:56:09
원래의
3222명이 탐색했습니다.

파이썬 변수의 본질: 할당된 값.

1 일반적인 파이썬 변수(클래스와 관련되지 않은 변수)는 값이 할당된 후 변수가 존재하며 읽고 쓸 수 있습니다.

2 Python 클래스의 변수(클래스 변수 및 인스턴스 객체 변수)는 특정 방식으로 어딘가에 할당됩니다. 즉, 존재하고 읽고 쓸 수 있습니다. H2.1 Python 클래스 변수 할당

(1) 클래스 내 디자인 파이썬 클래스 변수와 인스턴스 변수의 차이점

클래스 내 DEF 외에도 변수 이름을 할당할 수 있습니다.对 DEF는 클래스 객체의 point-to-order 변수 이름, 즉 클래스 이름을 통해 할당할 수 있습니다. ㅋㅋ

관련 권장사항: "

Python Video Tutorial

"

2.2 Python 인스턴스 객체 변수가 할당됩니다.

(1) 클래스를 설계할 때

변수 이름은 def에서 self dot 연산을 통해 할당될 수 있으며 반드시 init에서 할당될 필요는 없습니다. 호출된 다른 메소드 함수에서.

 (2) 프로그램 내에서

                                                인스턴스 객체의 점 연산을 통해 변수 이름에 값을 할당할 수 있습니다.

일반적으로 클래스의 변수는 클래스 설계(2.1(1) 및 2.2(1))를 통해 완성됩니다. 클래스에 변수를 추가하는 경우 일반적으로 완료(2.1(2) 및 2.2(2)) 방법을 사용하지 않습니다. 2.1(2) 및 2.2(2))는 클래스 상속을 통해 달성할 수 있습니다.

class aa:
      w = 10
      def __init__(self):
           self.x = 11
           self.y = 12
      def add(self):
           return self.x + self.y
a = aa()
print a.add()
#下边两条指令各起何作用?结果是输出两个 20 么?还是两个13?还是?
aa.w = 20 
a.w = 13
print aa.w, a.w
#程序继续增加如下,怎样理解这t和q呢?他们是___变量
a.t = 14
a.q = 15
print a.t, a.q
#程序继续增加如下,怎样理解这m和n呢?他们是___变量
aa.m = 30
aa.n = 40
print aa.m, aa.n
#好了再来个提升吧
#程序继续增加,下列三个print语句都能正确执行么?为何?
b = aa()
print b.x,b.y
print b.t,b.q
print b.m,b.n
로그인 후 복사

위 문제를 해결하려면 먼저 클래스에 클래스 변수가 있고, 인스턴스에 인스턴스 변수가 있는 경우를 먼저 이해해야 합니다.

둘째, 클래스 변수의 역할과 인스턴스 변수의 범위에 누가 관여하는지 깊이 이해해야 합니다!

위 내용은 파이썬 클래스 변수와 인스턴스 변수의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿