Heim >Backend-Entwicklung >Python-Tutorial >Was sind Python-Klassenattribute? Was sind die privaten Eigenschaften einer Klasse? (Beispielanalyse)

Was sind Python-Klassenattribute? Was sind die privaten Eigenschaften einer Klasse? (Beispielanalyse)

乌拉乌拉~
乌拉乌拉~Original
2018-08-22 17:17:023024Durchsuche

In diesem Artikel erfahren Sie mehr über das Wissen über Klassen. Einige Freunde sind vielleicht gerade erst mit der Programmiersprache Python in Kontakt gekommen und haben kein besonderes Verständnis für Python-Klassenattribute, aber das ist nicht der Fall. Es spielt keine Rolle. Der nächste Artikel führt Sie in das Wissen über die Python-Klassenattributmethode ein. Okay, beginnen wir ohne weitere Umschweife mit dem Lernen.

Private Attribute der Klasse

__private_attrs: Beginnt mit zwei Unterstrichen und erklärt, dass das Attribut privat ist und außerhalb der Klasse nicht verwendet oder direkt darauf zugegriffen werden kann. Wird in Methoden innerhalb der Klasse verwendet oder direkt aufgerufen. Bei Verwendung von self.__private_attrs in einer Methode innerhalb einer Klasse.

Klassenmethoden

Innerhalb der Klasse können Sie das Schlüsselwort def verwenden, um eine Methode für die Klasse zu definieren. Im Gegensatz zu allgemeinen Funktionsdefinitionen müssen Klassenmethoden den Parameter self enthalten , und ist der erste Parameter.

Private Methoden der Klasse

__private_method: Beginnend mit zwei Unterstrichen wird die Methode als private Methode deklariert und kann nicht außerhalb der Klasse aufgerufen werden. Rufen Sie self.__private_methods innerhalb der Klasse auf.

Ein Beispiel ist wie folgt:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class JustCounter:
    __secretCount = 0  # 私有变量
    publicCount = 0    # 公开变量
 
    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print self.__secretCount
 
counter = JustCounter()
counter.count()
counter.count()
print counter.publicCount
print counter.__secretCount  # 报错,实例不能访问私有变量

Python Ändern Sie den Namen, um den Klassennamen einzuschließen:

Traceback (most recent call last):
  File "test.py", line 17, in <module>
    print counter.__secretCount  # 报错,实例不能访问私有变量
AttributeError: JustCounter instance has no attribute &#39;__secretCount&#39;

Python erlaubt instanziierten Klassen nicht, auf private Daten zuzugreifen, Sie können dies jedoch tun use object._className__attrName (Object name._Class name__Private attribute name) Um auf Attribute zuzugreifen, beziehen Sie sich auf das folgende Beispiel:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Runoob:
    __site = "www.runoob.com"
    
runoob = Runoob()
print runoob._Runoob__site

Nach der Ausführung des obigen Beispiels lautet die Ausgabe wie folgt:

www.runoob.com

The Oben ist, was dieser Artikel beschreibt. In diesem Artikel werden hauptsächlich die relevanten Kenntnisse der Python-Klassenattributmethode vorgestellt. Ich hoffe, dass das, was ich in diesem Artikel beschrieben habe, für Sie hilfreich ist und Ihnen das Erlernen von Python erleichtert.

Weitere Informationen zu diesem Thema finden Sie in der Spalte Python-Tutorial auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonWas sind Python-Klassenattribute? Was sind die privaten Eigenschaften einer Klasse? (Beispielanalyse). 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