Python Language
Expressions idiomatiques
Recherche…
Initialisations de clé de dictionnaire
Préférez la méthode dict.get
si vous n'êtes pas sûr si la clé est présente. Il vous permet de retourner une valeur par défaut si la clé est introuvable. La méthode traditionnelle dict[key]
KeyError
une exception KeyError
.
Plutôt que de faire
def add_student():
try:
students['count'] += 1
except KeyError:
students['count'] = 1
Faire
def add_student():
students['count'] = students.get('count', 0) + 1
Changement de variables
Pour changer la valeur de deux variables, vous pouvez utiliser la décompression de tuple.
x = True
y = False
x, y = y, x
x
# False
y
# True
Utilisez des tests de valeur de vérité
Python convertira implicitement n'importe quel objet en valeur booléenne pour le tester, donc utilisez-le autant que possible.
# Good examples, using implicit truth testing
if attr:
# do something
if not attr:
# do something
# Bad examples, using specific types
if attr == 1:
# do something
if attr == True:
# do something
if attr != '':
# do something
# If you are looking to specifically check for None, use 'is' or 'is not'
if attr is None:
# do something
Cela produit généralement un code plus lisible et est généralement beaucoup plus sûr lorsqu'il s'agit de types inattendus.
Cliquez ici pour une liste de ce qui sera évalué à False
.
Test de "__main__" pour éviter l'exécution de code inattendue
Il est __name__
de __name__
variable __name__
du programme appelant avant d'exécuter votre code.
import sys
def main():
# Your code starts here
# Don't forget to provide a return code
return 0
if __name__ == "__main__":
sys.exit(main())
L'utilisation de ce modèle garantit que votre code n'est exécuté que lorsque vous vous attendez à ce qu'il soit; Par exemple, lorsque vous exécutez explicitement votre fichier:
python my_program.py
L'avantage, cependant, vient si vous décidez d' import
votre fichier dans un autre programme (par exemple, si vous l'écrivez dans le cadre d'une bibliothèque). Vous pouvez ensuite import
votre fichier et le piège __main__
garantira qu'aucun code n'est exécuté de manière inattendue:
# A new program file
import my_program # main() is not run
# But you can run main() explicitly if you really want it to run:
my_program.main()