Résumons le standard de codage Python PEP8 (1)

introduction

La version japonaise de PEP8 se trouve à l'URL suivante https://pep8-ja.readthedocs.io/ja/latest/#id4 Bien qu'il soit écrit, je ne suis pas doué pour lire de longues phrases, alors je l'ai résumé à ma manière. J'ai essayé de résumer une ou deux phrases par thème, mais c'est encore long, alors je divise l'article en plusieurs fois. Un exemple de code est également inclus pour le contenu jugé difficile à expliquer en utilisant uniquement des lettres. Veuillez commenter si vous avez sur-résumé et changé le sens.

Disposition du code

Retrait

Insérez quatre espaces pour chaque retrait.

Est-ce un onglet ou un espace?

L'espace est préférable. Dans Python3, j'obtiens une erreur lorsque je mélange des tabulations et des espaces dans le retrait.

1 longueur de ligne

Limitez la longueur de toutes les lignes à un maximum de 79 caractères.

Dois-je interrompre avant ou après l'opérateur binaire?

S'il est unifié, peu importe que la ligne saute avant ou après l'opérateur binaire. Les expressions dans les paragraphes sont toujours interrompues après les opérateurs binaires ou relationnels, mais il est toujours recommandé de couper les expressions structurées avant les opérateurs binaires.

Bon exemple: Opérateurs et opérandes faciles à faire
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)
Mauvais exemple: l'opérateur est séparé de l'opérande
income = (gross_wages +
          taxable_interest +
          (dividends - qualified_dividends) -
          ira_deduction -
          student_loan_interest)

Ligne blanche

Laissez deux lignes pour chaque fonction ou définition de classe. La définition de la fonction dans la classe est séparée ligne par ligne.

Encodage du fichier source

Vous devez toujours utiliser UTF-8. import L'instruction d'importation doit normalement être séparée par des lignes.

Bon exemple
import sys
import os
mauvais exemple
import sys,os

Cependant, c'est OK dans les cas suivants

from subprocess import Popen, PIPE

Nom de la variable de soulignement double au niveau du module

__all__,__author__,__version__

«Variables de soulignement doubles» au niveau du module telles que celles écrites avant l'instruction d'importation

Citations contenues dans la chaîne

La chaîne entre guillemets simples "et la chaîne entre guillemets doubles" sont identiques. Peu importe celui que vous utilisez tant qu'il est unifié.

Caractères vierges dans les expressions et les phrases

Les blancs sont superflus dans les cas suivants

・ Immédiatement après le début et la fin des supports, supports et supports ondulés

Bon exemple:
spam(ham[1], {eggs: 2})
mauvais exemple:
spam( ham[ 1 ], { eggs: 2 } )

・ Immédiatement avant les virgules, les points-virgules et les deux-points

Bon exemple:
if x == 4: print x, y; x, y = y, x
mauvais exemple:
if x == 4 : print x , y ; x , y = y , x

-Immédiatement avant le crochet ouvrant qui démarre la liste des arguments de l'appel de fonction

Bon exemple:
spam(1)
mauvais exemple:
spam (1)

・ Immédiatement avant le support ouvrant de l'index ou de la tranche

Bon exemple:
dct['key'] = lst[index]
mauvais exemple:
dct ['key'] = lst [index]

· Insérez un ou plusieurs espaces autour des opérateurs pour aligner les opérateurs d'affectation

Bon exemple:
x = 1
y = 2
long_variable = 3
mauvais exemple:
x             = 1
y             = 2
long_variable = 3

・ Autres recommandations

-Ne laissez pas de caractères vides supplémentaires à la fin de la ligne ・ L'opérateur binaire met toujours un seul espace des deux côtés -Ne mettez pas d'espaces de chaque côté de =, qui est utilisé pour indiquer qu'il s'agit d'un argument mot-clé ou d'un paramètre par défaut.

Bon exemple:
def complex(real, imag=0.0):
    return magic(r=real, i=imag)
mauvais exemple:
def complex(real, imag = 0.0):
    return magic(r = real, i = imag)

-Tout en respectant la règle selon laquelle les annotations de fonction ne mettent pas d'espace avant les deux points, placez toujours un espace des deux côtés de l'opérateur->.

Bon exemple:
def munge(input: AnyStr): ...
def munge() -> AnyStr: ...
mauvais exemple:

def munge(input:AnyStr): ...
def munge()->PosInt: ...

-Lors de la combinaison avec une annotation d'argument qui a une valeur par défaut, insérez un espace avant et après =

Bon exemple:
def munge(sep: AnyStr = None): ...
mauvais exemple:
def munge(input: AnyStr=None): ...

-Les instructions composites (mettre plusieurs instructions sur une ligne) sont généralement obsolètes. De plus, les instructions if / for / while et courtes peuvent être acceptées sur la même ligne, mais les instructions composées doivent être placées. NG

Bon exemple:
if foo == 'blah':
    do_blah_thing()
do_one()
do_two()
do_three()
mauvais exemple:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()

Recommended Posts

Résumons le standard de codage Python PEP8 (1)
Résumons le standard de codage Python PEP8 (2)
Conforme à la norme de codage Python PEP8
[Norme de codage Python] PEP 8 vs Google Style
Construire un environnement conforme à la norme de codage Python (PEP8) avec Eclipse + PyDev
[Python] Ajuster la norme de la carte des couleurs
Résumons le degré de couplage entre les modules avec du code Python
[Blender x Python] Maîtrisons le matériel !!
Entrée standard Python3 que j'ai essayé de résumer
Lisons le fichier RINEX avec Python ①
[Python] Résumez les éléments rudimentaires du multithreading
python> guide de codage> PEP 0008 --Style Guide for Python Code
Python amateur tente de résumer la liste ①
Depuis Python 3.4, pip devient le programme d'installation standard! ??
Traduction japonaise: PEP 20 - Le Zen de Python
Comment vérifier automatiquement si le code que vous avez écrit dans Google Colaboratory correspond à la norme de codage python "pep8"
Analysons le journal de validation git en Python!
[Python] Exécutons le module régulièrement en utilisant schedule
[Python] Entrée standard
Premier Python ~ Codage 2 ~
amateur python tente de résumer la liste ②
Résumons Apache
Synthétiser l'importation Python
Trier en Python. Pensons ensuite à l'algorithme.
HoloViews peut devenir la norme pour les outils de visualisation Python
Demandez à python d'analyser le json entré à partir de l'entrée standard
(◎◎) {Laissons Python faire les choses ennuyeuses) ......... (Hé? Laissons Python faire les devoirs} (゜) (゜)
Utilisons la version Python du module API Confluence.
Utilisons les données ouvertes de "Mamebus" en Python
[Python] Souvenons-nous du nouveau style d'écriture après pip10
[Python] Changeons l'URL du site administrateur de Django
J'ai essayé de résumer les opérations de chaîne de Python
Trouvez le maximum de Python
le zen de Python
[Python] Fractionner la date
[Python] À propos de l'entrée standard
Passons en revue les spécifications du langage autour des itérateurs et des générateurs Python
Comment déboguer une bibliothèque Python standard dans Visual Studio
Changer la destination de sortie standard en un fichier en Python
Ce que vous pouvez faire avec les statistiques de la bibliothèque Python standard
Touchons l'API de Netatmo Weather Station avec Python. #Python #Netatmo
(Python3) Non oO (Utilisez-vous la bibliothèque standard?): 5 shaders
Python> règle de codage> PEP8> read_chpoint.py: 20: 1: E302 attendait 2 lignes vides, trouvé 1