Heim  >  Artikel  >  Backend-Entwicklung  >  Objektorientierte Instanzattribute und Klassenattribute von Python

Objektorientierte Instanzattribute und Klassenattribute von Python

不言
不言Original
2018-04-14 10:32:361220Durchsuche

Der Inhalt dieses Artikels befasst sich mit den objektorientierten Instanzattributen und Klassenattributen von Python. Er hat einen gewissen Referenzwert.

Da Python eine dynamische Sprache ist Mit der Klasse können Sie eine Instanz erstellen und beliebige Eigenschaften binden.

Die Möglichkeit, Attribute an eine Instanz zu binden, erfolgt über Instanzvariablen oder über die Variable self:

class Student(object):
    def __init__(self,name):
        self.name = name

s = Student('jeff')
print(s.name)
#jeff

Wenn wir ein Klassenattribut definieren, wird dieses Attribut zwar von allen klassifiziert, aber Auf die Klasse kann auf alle Instanzen von

zugegriffen werden. Testen wir es:

>>> class Student(object):
...     name = 'Student'
...
>>> s = Student()
>>> print(s.name)
Student
>>> print(Student.name)
Student
>>> s.name = 'jeff'
>>>
>>> print(s.name)
jeff
>>> print(Student.name)
Student
>>> del s.name
>>> print(s.name)
Student
>>> print(Student.name)
Student

Wie Sie dem obigen Beispiel entnehmen können, verwenden Sie beim Schreiben eines Programms niemals denselben Namen für Instanzattribute und Klassenattribute, da Instanzattribute mit demselben Namen Klassenanpassungen blockieren . Attribut, aber wenn Sie das Stärkeattribut löschen und denselben Namen erneut verwenden, wird auf das Klassenattribut zugegriffen

Verwandte Empfehlungen:

Python objektorientiertes Abrufen von Objektinformationen

Python objektorientierte Vererbung und Polymorphismus

Das obige ist der detaillierte Inhalt vonObjektorientierte Instanzattribute und Klassenattribute von Python. 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