Puisque Python dans le calendrier de l'Avent est dépeuplé, je continuerai à écrire du matériel simple hier.
Voici un résumé de la portée des membres de la classe Python résumés précédemment.
Plus précisément, il s'agit de savoir comment écrire et accéder aux membres et méthodes publics, ainsi qu'aux membres et méthodes privés.
# coding: utf-8
class Widget(object):
#constructeur
def __init__(self, r, l):
#Variable de membre normale
self.rval = r
self.lval = l
#Variables privées
self.__secret = 5
#variable de membre de classe publique
classVal = 30
#Variables de classe privée
#Il n'est accessible que de l'extérieur avec une description spéciale
__SecretClassVal = 10
#Méthode normale
def Calc(self):
#Les variables de membre peuvent également être définies ici.
self.top = 10
return self.rval * self.lval * self.top
#Méthode privée
def __MyCalc(self):
print "This is Private Method!"
#Méthode de classe.
@classmethod
def SelfName(cls):
#Les variables de membre de classe peuvent également être définies ici.
cls.number = 1
#Méthode de classe privée.
@classmethod
def __PrivateSelfName(cls):
print "This is Private Class Method!"
if __name__ == '__main__':
#Appels aux constructeurs et aux méthodes régulières.
w = Widget(2, 4)
#Accès aux variables membres
w.lval = 3
w.rval = 4
#Accédez aux variables de membre privé.
#exemple._nom de la classe__Il est accessible par nom de variable.(Non recommandé)
print w._Widget__secret
#Accédez aux variables de classe publique.
#Vous pouvez accéder au nom de l'instance ou au nom de la classe.
print Widget.classVal
print w.classVal
#Accédez aux variables de classe privées.
#exemple._nom de la classe__Il est accessible par nom de variable.(Non recommandé)
print w._Widget__SecretClassVal
#Appel de méthode normal.
print w.Calc()
#Appeler une méthode privée(Non recommandé)
print w._Widget__MyCalc()
#Appel d'une méthode de classe.
Widget.SelfName()
#Appel d'une méthode de classe privée(Non recommandé)
print w._Widget__PrivateSelfName()
production
5
30
30
10
120
This is Private Method!
None
This is Private Class Method!
None
Recommended Posts