Je suis en provenance du monde Java et la lecture de Bruce Eckels' Python 3 modes d'expressions idiomatiques.
Lors de la lecture sur les classes...il continue à dire qu'en Python il n'est pas nécessaire de déclarer les variables d'instance. Vous venez de les utiliser dans le constructeur...et boum..ils sont là.
Ainsi, par exemple:
class Simple:
def __init__(self1, str):
print("inside the simple constructor")
self1.s = str
def show(self1):
print(self1.s)
def showMsg (self, msg):
print (msg + ':', self.show())
Ma question est, si ci-dessus est le cas, alors tout objet de la classe Simple
suffit de modifier la valeur de la variable s
à l'extérieur de la classe.
Par exemple:
if __name__ == "__main__":
x = Simple("constructor argument")
x.s = "test15" #this changes the value
x.show()
x.showMsg("A message")
En Java, nous avons appris à propos de public/privé/protégé variables. Ces mots-clés, parce que parfois vous voulez des variables dans une classe à laquelle personne n'en dehors de la classe a accès.
Pourquoi n'est-ce pas nécessaire en Python?