Da Python im Adventskalender entvölkert ist, werde ich gestern weiterhin einfaches Material schreiben.
Hier ist eine Zusammenfassung des Umfangs der Python-Klassenmitglieder, die zuvor zusammengefasst wurden.
Insbesondere wird beschrieben, wie öffentliche Mitglieder und Methoden sowie private Mitglieder und Methoden geschrieben und darauf zugegriffen werden.
# coding: utf-8
class Widget(object):
#Konstrukteur
def __init__(self, r, l):
#Normale Mitgliedsvariable
self.rval = r
self.lval = l
#Private Variablen
self.__secret = 5
#öffentliche Klassenmitgliedsvariable
classVal = 30
#Private Klassenvariablen
#Es ist nur von außen mit einer speziellen Beschreibung zugänglich
__SecretClassVal = 10
#Normale Methode
def Calc(self):
#Auch hier können Mitgliedsvariablen definiert werden.
self.top = 10
return self.rval * self.lval * self.top
#Private Methode
def __MyCalc(self):
print "This is Private Method!"
#Klassenmethode.
@classmethod
def SelfName(cls):
#Auch hier können Klassenmitgliedervariablen definiert werden.
cls.number = 1
#Private Klassenmethode.
@classmethod
def __PrivateSelfName(cls):
print "This is Private Class Method!"
if __name__ == '__main__':
#Aufrufe an Konstruktoren und reguläre Methoden.
w = Widget(2, 4)
#Zugriff auf Mitgliedsvariablen
w.lval = 3
w.rval = 4
#Greifen Sie auf private Mitgliedsvariablen zu.
#Beispiel._Name der Klasse__Es kann über den Variablennamen zugegriffen werden.(Nicht empfohlen)
print w._Widget__secret
#Zugriff auf öffentliche Klassenvariablen.
#Sie können entweder auf den Instanznamen oder den Klassennamen zugreifen.
print Widget.classVal
print w.classVal
#Greifen Sie auf private Klassenvariablen zu.
#Beispiel._Name der Klasse__Es kann über den Variablennamen zugegriffen werden.(Nicht empfohlen)
print w._Widget__SecretClassVal
#Normaler Methodenaufruf.
print w.Calc()
#Aufruf einer privaten Methode(Nicht empfohlen)
print w._Widget__MyCalc()
#Aufrufen einer Klassenmethode.
Widget.SelfName()
#Aufruf einer privaten Klassenmethode(Nicht empfohlen)
print w._Widget__PrivateSelfName()
Ausgabe
5
30
30
10
120
This is Private Method!
None
This is Private Class Method!
None
Recommended Posts