Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen Python-Klassenvariablen und Instanzvariablen

Der Unterschied zwischen Python-Klassenvariablen und Instanzvariablen

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-24 10:56:093148Durchsuche

Das Wesentliche an Python-Variablen: Ihnen wird ein Wert zugewiesen.

1 Gewöhnliche Python-Variablen (nicht klassenbezogene Variablen) sind leicht zu verstehen. Nachdem ihnen ein Wert zugewiesen wurde, ist die Variable vorhanden und kann gelesen und geschrieben werden.

2 Die Variablen der Python-Klasse (Klassenvariablen und Instanzobjektvariablen) werden auf eine bestimmte Weise irgendwo zugewiesen, das heißt, sie existieren und können gelesen und geschrieben werden.

Der Unterschied zwischen Python-Klassenvariablen und Instanzvariablen

2.1 Python-Klassenvariablen werden zugewiesen

(1) Im Design der Klasse

Innerhalb und außerhalb der Klasse Variablennamen zugewiesen werden können.

In der DEF kann der abhängige Variablenname des Punkt-Klassennamens dem Klassennamen zugewiesen werden.

(2) Im Programm

kann auch der Kategoriename der Kategorie des Klassenobjekts (Klassenname) vergeben werden.

Verwandte Empfehlungen: „

Python-Video-Tutorial

2.2 Python-Instanzobjektvariablen werden Werte zugewiesen

(1) Klassenentwurfszeit

DEF kann über den Self-Point-Transport-Variablennamen zugewiesen werden, der nicht unbedingt in Init und anderen aufgerufenen Aufrufen enthalten ist.

(2) Im Programm können

Variablennamen Werte durch Punktarithmetik von Instanzobjekten zugewiesen werden.

Im Allgemeinen werden Variablen in einer Klasse durch Klassendesign vervollständigt (2.1(1) und 2.2(1)). Beim Hinzufügen von Variablen in einer Klasse wird im Allgemeinen nicht die Methode (2.1(2) und 2.2(2)) verwendet. ). Die Vervollständigung (2.1(2) und 2.2(2)) kann durch Klassenvererbung erreicht werden.

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

Um das obige Problem zu lösen, müssen wir zunächst verstehen, wann eine Klasse Klassenvariablen und Instanzen Instanzvariablen haben.

Zweitens müssen wir die Rolle von Klassenvariablen genau verstehen und wissen, wer am Umfang von Instanzvariablen beteiligt ist!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Python-Klassenvariablen und Instanzvariablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn