La raison pour laquelle les normes de codage Python sont importantes peut être résumée en une phrase : Des normes de codage uniformes peuvent améliorer l'efficacité du développement.
L'écriture du code de ps.python doit essentiellement suivre le style PEP8
N'ajoutez pas de point-virgule à la fin de la ligne et n'utilisez pas de point-virgule pour mettre deux commandes sur la même ligne.
nom_module, nom_package, nom_classe, nom_méthode
Noms à éviter
Noms à caractère unique, à l'exception des compteurs et des itérateurs.
Traits d'union (- dans les noms de package/module))
Noms commençant et se terminant par des traits de soulignement doubles (Python réservé, tel que __init__)
Convention de dénomination
Le soi-disant "interne" signifie qu'il n'est disponible que dans le module, ou, au sein de la classe Est protégé ou privé.
Commencez par un seul trait de soulignement (_) pour indiquer que la variable ou la fonction du module est protégée (non inclus lors de l'utilisation de l'importation * depuis)
Variables d'instance commençant par un double trait de soulignement. (__) ou les méthodes représentent le privé au sein d'une classe.
Placez les classes associées et les fonctions de niveau supérieur dans le même module. Contrairement à Java, il n'est pas nécessaire de limiter une classe à un module.
Utilisez des mots commençant. avec des lettres majuscules pour les noms de classe (comme CapWords, c'est-à-dire le style Pascal), mais le nom du module doit être en minuscules et souligné (comme lower_with_under.py). Bien qu'il existe de nombreux modules existants utilisant des noms similaires à CapWords.py, ceci). n'est plus encouragé. Parce que si le nom du module est le même que le nom de la classe, cela prêtera à confusion
Chaque ligne ne doit pas dépasser 80 caractères
Sauf dans les situations suivantes :
URL des commentaires de la déclaration du module d'importation longue
N'utilisez pas de barres obliques inverses pour connecter les lignes.
Python connectera implicitement les lignes entre parenthèses, crochets et accolades, vous pouvez profiter de cette fonctionnalité Si nécessaire, vous pouvez ajouter une paire de parenthèses supplémentaires autour de l'expression.
Recommandation :
foo_bar(self, width, height, color='black', design=None, x='foo', emphasis=None, highlight=0) if (width == 0 and height == 0 and color == 'red' and emphasis == 'strong'):
Si une chaîne de texte ne tient pas sur une seule ligne, vous pouvez utiliser des parenthèses pour obtenir une connexion de ligne implicite :
x = ('这是一个非常长非常长非常长非常长 ' '非常长非常长非常长非常长非常长非常长的字符串')
Utilisez 4 espaces pour indenter le code
Ne l'utilisez jamais, et ne mélangez pas les tabulations et les espaces. Dans le cas d'une concaténation de lignes, vous devez soit aligner verticalement les éléments enveloppés (voir la section :ref:`Line_length
# 与起始变量对齐 foo = long_function_name(var_one, var_two, var_three, var_four) # 字典中与起始值对齐 foo = { long_dictionary_key: value1 + value2, ... }
Deux lignes vides entre les définitions de niveau supérieur, une ligne vide entre les définitions de méthode
Deux lignes vides entre les définitions de niveau supérieur, telles que définitions de fonction ou de classe . Il devrait y avoir une ligne vide entre la définition de méthode, la définition de classe et la première méthode, si vous pensez que cela est approprié, laissez une ligne vide à certains endroits
Aucun espace entre parenthèses.
Utilisez des espaces des deux côtés des points de ponctuation conformément aux conventions typographiques standard
正确示范: spam(ham[1], {eggs: 2}, [])
错误示范: spam( ham[ 1 ], { eggs: 2 }, [ ] )
class SampleClass(object): """Summary of class here. Longer class information.... Longer class information.... Attributes: likes_spam: A boolean indicating if we like SPAM or not. eggs: An integer count of the eggs we have laid. """ def __init__(self, likes_spam=False): """Inits SampleClass with blah.""" self.likes_spam = likes_spam self.eggs = 0 def public_method(self): """Performs operation blah."""
# We use a weighted dictionary search to find out where i is in # the array. We extrapolate position based on the largest num # in the array and the array size and then do binary search to # get the exact number. if i & (i-1) == 0: # true iff i is a power of 2
Pour améliorer la lisibilité, les commentaires doivent laisser au moins 2 espaces dans le code.
Par contre, ne décrivez jamais le code. Supposez de lire le code. Les gens connaissent Python mieux que vous, ils ne savent tout simplement pas ce que fait votre code
# BAD COMMENT: Now go through the b array and make sure whenever i occurs # the next element is i+1
9, strings
正确示范: x = a + b x = '%s, %s!' % (imperative, expletive) x = '{}, {}!'.format(imperative, expletive) x = 'name: %s; score: %d' % (name, n) x = 'name: {}; score: {}'.format(name, n)
错误示范: x = '%s%s' % (a, b) # use + in this case x = '{}{}'.format(a, b) # use + in this case x = imperative + ', ' + expletive + '!' x = 'name: ' + name + '; score: ' + str(n)
正确示范: import os import sys
错误示范: import os, sys
Les importations doivent toujours être placées en haut du fichier, situées après les commentaires et les docstrings du module, et avant les variables et constantes globales du module. Les importations doivent être regroupées du plus courant au moins courant :
Importation de bibliothèque standard Importation de bibliothèque tierce Importation spécifique à l'application
【Résumé】Lors de l'utilisation de fonctions pour la programmation fonctionnelle, il doit y avoir deux lignes vides entre les fonctions
Pour les fonctions d'une classe, il doit y avoir une ligne vide entre les fonctions
Si la fonction et la classe sont identiques niveau, alors ils devraient avoir deux lignes vides entre elles
Pour les expressions longues qui dépassent le nombre spécifié de caractères par ligne, vous devez appuyer sur Entrée pour mettre en retrait. Habituellement, à l'exception de la première ligne, toutes les autres lignes doivent être en retrait. par 4 espaces à nouveau sur la base d'origine
Pour juger si une variable est Aucune, Faux ou Vrai, n'utilisez pas ==, utilisez par exemple si a est Aucun
L'instruction d'importation doit être placée au début de la phrase et essayez de l'importer. Utilisez des importations absolues au lieu d'importations relatives, et il est préférable de spécifier une fonction spécifique du module correspondant lors de l'importation, par exemple, from datetime import datetime.
Lors de l'importation de modules, ils doivent être classés en fonction des modules de bibliothèque standard, des modules tiers et des modules auto-utilisés.
Lors de la détection que le conteneur n'est pas vide, vous devez utiliser le nom du conteneur if, pour. exemple, lists = [] if lists
Utilisez le mot négatif sous forme en ligne, ne mettez pas le mot négatif devant l'expression entière, par exemple, cela devrait être si a n'est pas Aucun au lieu de si ce n'est pas a est Aucun
doivent être utilisés pour décrire les fonctions de certains blocs de code importants. Des commentaires sur une seule ligne doivent être utilisés pour décrire les fonctions de l'ensemble du module.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!