Show Menu
Cheatography

Python_Chap_15 Cheat Sheet (DRAFT) by

Python Enhancement Proposal (PEP)

This is a draft cheat sheet. It is a work in progress and is not finished yet.

PEP

Python Enhanc­ement Proposal (PEP) is a document that proposes a new feature, improv­ement, or change to the Python progra­mming language. Ces règles ne sont pas obliga­toires, mais elles sont fortement consei­llées pour écrire du code Python de qualité. Elles facilitent la compré­hen­sion, la mainte­nance et la collab­oration sur le code.

PEP257 for doctrings

La PEP 257 recommande d'écrire des docstrings avec des triples doubles guille­mets, c'est-­à-dire
"­"­"­bla­bla­"­"­" mais pas '''bla­bla'''

def multip­lie­_no­mbr­es(­nom­bre1, nombre2):
"­"­"­Mul­tip­lic­ation de deux nombres entiers.

Cette fonction ne sert pas à grand chose.

Parameters
----------
nombre1 : int
Le premier nombre entier.
nombre2 : int
Le second nombre entier.

Avec une descri­ption plus longue.
Sur plusieurs lignes.

Returns
-------
int
Le produit des deux nombres.
"­"­"
__auth­ors__ = ("A", "­B")
__vers­ion__= "­1.2.3"

import module ...

classes & methods etc

pycode­style & pydocstyle & pylint

pycode­style: vérifier la conformité avec PEP 8
$ pycode­style script.py

pydocs­tyle: vérifier la conformité avec la PEP 257
$ pydocstyle script.py

L'outil pylint va lui aussi vérifier une partie de ces règles mais il va également essayer de comprendre le contexte du code et proposer des éléments d'amél­ior­ation.
 

PEP8

indent­ation = 4 espaces

Import module
le chargement d'un module se fait avec l'inst­ruction import module plutôt qu'avec from module import *
Dans un script Python, on importe en général un module par ligne. D'abord les modules internes (classés par ordre alphab­éti­que), c'est-­à-dire les modules de base de Python, puis les modules externes (ceux que vous avez installés en plus).
Si le nom du module est trop long, on peut utiliser un alias. (as)

Règles de nommage
Les modules (fichiers Python) doivent avoir des noms courts en minuscules et peuvent contenir des traits de soulig­nement (_).
Les paquets (réper­toires contenant des modules) doivent avoir des noms courts en minusc­ules, de préférence sans trait de soulig­nement.
Les classes doivent utiliser la convention CapWords, c’est-­à-dire commencer chaque mot par une majuscule et ne pas séparer les mots par des traits de soulig­nement.
Les fonctions et les variables doivent utiliser la convention snake_­case, c’est-­à-dire écrire les mots en minuscules et les séparer par des traits de soulig­nement. Par exemple, print, sum, my_fun­ction, my_var­iable.
Les constantes (variables dont la valeur ne change pas) doivent être écrites en majuscules et séparées par des traits de soulig­nement. Par exemple, PI, GRAVITY, MY_CON­STANT.
Les noms des arguments des fonctions doivent être clairs et inform­atifs, et éviter les abrévi­ations ou les noms génériques comme x, y, z. Par exemple, def add(a, b): est moins clair que def add(nu­mber1, number2):.
Les noms des attributs et des méthodes d’une classe doivent suivre les mêmes conven­tions que les fonctions et les variables. Par exemple, class Person: name = "­Ali­ce" def greet(­self): print(­f"Hello, I am {self.n­am­e}").

Espace
La PEP 8 recommande d'entourer les opérateurs (+, -, /, *, ==, !=, >=, not, in, and, or...) d'un espace avant et d'un espace après.
Il n'y a, par contre, pas d'espace à l'inté­rieur de crochets, d'acco­lades et de parent­hèses
Ni juste avant la parenthèse ouvrante d'une fonction ou le crochet ouvrant d'une liste ou d'un dictio­nnaire
On met un espace après les caractères : et , (mais pas avant)
Par contre, pour les tranches de listes, on ne met pas d'espace autour du :
on n'ajoute pas plusieurs espaces autour du = ou des autres opérateurs pour faire joli

le caractère \ permet de couper des lignes trop longues.
On peut aussi utiliser les parent­hèses pour évaluer un expression trop longue, par exampl, if (condi­tion1 and condition 2):