web-dev-qa-db-fra.com

Convention de nommage des méthodes booléennes Python

Je suis un rubyiste qui étudie Python et je me demande s’il existe une convention en Python dans le sens de ce qui suit.

En Ruby, les méthodes qui renvoient des booléens sont supposées toujours se terminer par un ?. Par exemple,

def palindrome?(string)
  # some code that tests whether string is a palindrome
end

La seule question SO existante Je peux trouver que parler de cela ne fournit pas de réponse définitive.

9
jayqui

Je suis d'accord avec @CarolChen sur le principe de se tourner vers PEP8 , le Guide de style Python, pour obtenir des conseils. Je suggérerai cependant que "si nécessaire pour améliorer la lisibilité" est dans l'oeil du spectateur. Par exemple, chacune de ces fonctions est utilisée dans Python en tant que fonctions de l’objet str ou en tant que fonctions intégrées. Celles-ci sont aussi fondamentales que cela se trouve dans l'écosystème Python et constituent de bons exemples d'un style d'utilisation centré sur le retour d'un état booléen ET ayant des noms de fonctions facilement lisibles. 

str. méthodes

isalnum()
isalpha()
isdecimal()
isdigit()
isidentifier()
islower()
isnumeric()
isprintable()
isspace()
istitle()
isupper()

fonctions intégrées:

isinstance()
issubclass()
7
E. Ducateme

Il n'y a pas de convention de nommage standard spécifique aux méthodes de renvoi booléen. Cependant, PEP8 a un guide pour nommer les fonctions. 

Les noms de fonction doivent être en minuscule, avec des mots séparés par souligne si nécessaire pour améliorer la lisibilité.

En général, les personnes démarrent une fonction avec is (par exemple is_palindrome) pour décrire le retour d’une valeur booléenne. 

4
Carol Chen

Vous pouvez le définir comme

def is_palindrome(variable):
    # your logic\
    # return True / False
1
Umar Asghar