EDIT: Mon erreur - il y avait un autre nom de méthode (avec le trait de soulignement) à un autre endroit qui avait seulement une passe dans son corps. Stupide que je suis. S'il vous plait fermer.Underscores dans les noms de méthode [erreur stupide]
J'ai une classe avec deux méthodes, chacune retournant une chaîne simple. La seule différence légèrement qualitative entre ces deux méthodes est que l'un a un trait de soulignement dans son nom tandis que l'autre ne le fait pas. Cependant, celui avec le trait de soulignement ne retourne pas la chaîne lorsqu'il est appelé. L'utilisation de traits de soulignement dans les noms de méthodes semble suivre PEP 8 guidelines regarding method names.
J'ai lu attentivement le Python tutorial on classes mais il ne mentionne aucune différence de comportement en fonction de l'utilisation du trait de soulignement dans le nom de la méthode. Si je supprime le trait de soulignement, la chaîne sera renvoyée.
À quoi cela cause-t-il?
Voici mon code:
class Board:
def f(self):
return 'Hello'
def print_board(self):
return 'Hello'
J'utilise Python 3.2.3.
Pouvez-vous poster un programme complet démontrant cela? – ecatmur
Je ne peux pas le reproduire avec ce code. L'appel des deux méthodes fonctionne comme prévu. –
Désolé - découvert J'ai eu une autre méthode avec le même nom mais sans aucun code à exécuter. Toutes mes excuses pour la question stupide. – 5th