class Man1():
def __init__(self, name):
self.name = name
Avec cette définition, le nom de la variable d'instance peut être référencé et réécrit.
#Initialisation
Paul = Man("Paul")
#Peut être référencé
print(Paul.name)
#Réinscriptible
Paul.name = Mac
Mais une variable d'instance
Dans certains cas. dans ce cas,
#Préfixer la variable d'instrument__Défini dans(Cette__le nom est mutilé et ce nom ne peut pas être référencé)
class Man():
def __init__(self, name):
self.__name = name
#Ce nom de fonction ne doit pas chevaucher un nom de variable d'instance existant
@property
def name(self):
return self.__name
#Besoin de définir le getter avec le même nom avant le setter
#Sans ce paramètre, la propriété name serait en lecture seule
@name.setter
def name(self, name):
self.__name = name
Par
#Initialisation
Paul = Man("Paul")
#référence
# Paul.name()n'est pas
print(Paul.name)
#Récrire
# Paul.name("Mac")n'est pas
Paul.name = "Mac"
#Pas d'accès direct à la propriété d'origine(Erreur)
Paul.__name
Paul.__name = "Mac"
Cependant, il est possible de faire référence et de réécrire la variable d'instance «__name» avec «Paul._Man__name» (donc «mock»).