Retourner au contenu associé (journal : écrire du code dans le corps d'une classe python)
Posté par Thomas Debesse (site web personnel, Mastodon) le 16 octobre 2024 à 02:14. En réponse au journal écrire du code dans le corps d'une classe python. Évalué à 3.
Ce n’est pas déconcertant, tu as fait une erreur : x n’est pas défini dans la fonction mais dans la classe C.
x
C
L’objet de classe C créé est passé en paramètre sous le nom de self, et donc pour retourner le membre x de self il faut retourner self.x.
self
self.x
In [3]: class C: ...: x = 0 ...: def meth(self): ...: return self.x ...: C().meth() Out[3]: 0
C’est un autre comportement qui serait déconcertant.
Le nom self n’est qu’une convention, tu peux faire ça si tu veux:
In [4]: class C: ...: x = 0 ...: def meth(toto): ...: return toto.x ...: C().meth() Out[4]: 0
Le fonction meth ne connait que l’objet créé de classe C, quelque soit le nom donné à cet objet.
meth
C’est tout à fait normal qu’il faille accéder à cet objet de classe C pour accéder à x.
ce commentaire est sous licence cc by 4 et précédentes
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: Petite bizarrerie à noter
Posté par Thomas Debesse (site web personnel, Mastodon) . En réponse au journal écrire du code dans le corps d'une classe python. Évalué à 3.
Ce n’est pas déconcertant, tu as fait une erreur :
xn’est pas défini dans la fonction mais dans la classeC.L’objet de classe
Ccréé est passé en paramètre sous le nom deself, et donc pour retourner le membrexdeselfil faut retournerself.x.C’est un autre comportement qui serait déconcertant.
Le nom
selfn’est qu’une convention, tu peux faire ça si tu veux:Le fonction
methne connait que l’objet créé de classeC, quelque soit le nom donné à cet objet.C’est tout à fait normal qu’il faille accéder à cet objet de classe
Cpour accéder àx.ce commentaire est sous licence cc by 4 et précédentes