파이썬 변수의 본질: 할당된 값.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!