Bonjour.
Tout d'abord, le code :
Bon, j'essaye de me "former" à l'utilisation des tests. Mais là n'est pas la question.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 class BaseCreature(object): # C'est ici que je coince... def __init__(self, pv=1): self.pv = pv class Monstre(BaseCreature): def __init__(self, laideur=0): self.laideur = laideur class Heros(BaseCreature): def __init__(self, beaute=0): self.beaute = beaute def test(): orc = Monstre(pv=4, laideur=3) belle_mere = Monstre(laideur=10) jean = Heros(beaute=5) sekigo = Heros(pv=100, beaute=100) assert getattr(sekigo, 'pv') == 100 assert getattr(sekigo, 'beaute') == 100 assert getattr(belle_mere, 'pv') == 1 assert getattr(belle_mere, 'laideur') == 10 if __name__ == "__main__": test()
Ce que je voudrais, c'est que des instances de classes soient déjà peuplés de la variable pv SANS avoir à écrire un truc comme cela :
mais rester dans le style des classes Heros et Monstre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Cailloux(BaseCreature): def __init__(self, pv=1, beaute=1): super(Cailloux, self).__init__(pv) self.beaute = beaute
Ceci dit, ce n'est peut-être pas super correct de faire un truc comme cela. Je n'en sais rien. Mais en tout cas, ce serait vraiment plus rapide à écrire.
En espérant que vous compreniez au moins le problème (je ne suis pas toujours bien clair dans les explications de mes problèmes).
Et merci d'avoir déjà lu le sujet![]()
Partager