Problème en python
Fermé
gomul
-
3 mai 2004 à 20:34
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 5 mai 2004 à 08:57
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 5 mai 2004 à 08:57
A voir également:
- Problème en python
- Citizen code python avis - Accueil - Outils
- Python generator - Télécharger - Sécurité
- Mot secret python pix ✓ - Forum Python
- Python pix ✓ - Forum Python
2 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
4 mai 2004 à 09:52
4 mai 2004 à 09:52
Tu as déclaré ta classe tour comme:
Ce qui veut dire que les variables hauteur_max et disques sont des variables de classe: Elles sont partagées par tous les objets de type clTour.
Pour les déclarer comme variable d'instance, il faut les mettre dans le constructeur __init__():
Démonstration:
Variable de classe:
Cela affichera ["coucou"]: liste est partagé par c et b.
Variable d'instance:
Là, ça affichera [], car c et b on chacun leur liste.
class clTour : hauteur_max = 0 disques = []
Ce qui veut dire que les variables hauteur_max et disques sont des variables de classe: Elles sont partagées par tous les objets de type clTour.
Pour les déclarer comme variable d'instance, il faut les mettre dans le constructeur __init__():
self.hauteur_max = 0 self.disques = []
Démonstration:
Variable de classe:
class classeA: liste = [] def __init__(self): pass c = classeA() b = classeA() c.liste.append("coucou") print b.liste
Cela affichera ["coucou"]: liste est partagé par c et b.
Variable d'instance:
class classeB: def __init__(self): self.liste = [] c = classeB() b = classeB() c.liste.append("coucou") print b.liste
Là, ça affichera [], car c et b on chacun leur liste.
Ca marche!!, MERCI, je commence à comprendre python, c plus compliqué de c q g pensé :p .... par rapport au c++ ou java au niveau du Oriente Objet
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
5 mai 2004 à 08:57
5 mai 2004 à 08:57
bah non, c'est pas plus compliqué. :-)
Java et C++ ont aussi la notion d'attributs de classe ou d'objet (mot clé "static").
Java et C++ ont aussi la notion d'attributs de classe ou d'objet (mot clé "static").