Question

Je sais que certaines langues ont des conventions attendu.

PHP - underscore_case() [pour la plupart, lolo]

Java - camelCase()

C # - PascalCase()

etc.

Quelle est la convention de nommage "Pythonic"? Je sais que cela n'a pas d'importance à la fin, mais tout simplement se demander s'il y a une « meilleure pratique » façon que la plupart des modules sont faites dans.

Était-ce utile?

La solution

Deux mots:. PEP 8

PEP 8 est le (de facto) guide de style Python. Voici quelques points saillants de ce document (J'ai laissé quelques trucs exprès, allez lire le document original pour les tenants et les aboutissants):

  • Package et noms du module : noms en minuscules. Underscores peuvent être utilisés dans le nom du module si elle améliore la lisibilité.

  • Noms de classe :. À quelques exceptions près, les noms de classes utilisent la convention de capwords *

  • Noms de variables globales :. Les conventions sont à peu près les mêmes que celles pour les fonctions

  • Noms Fonction : Les noms de fonction doivent être en minuscules, avec des mots séparés par des underscores comme nécessaires pour améliorer la lisibilité. texteEncasseMelangée est autorisée que dans des contextes où c'est déjà le style dominant (par exemple threading.py), pour conserver la compatibilité ascendante.

  • Méthode des noms et des variables d'instance : Minuscules avec des mots séparés par des underscores nécessaire pour améliorer la lisibilité. Utilisez un trait de soulignement uniquement pour des méthodes non publiques et variables d'instance.

  • Constantes : écrit en lettres majuscules avec des underscores séparant les mots. Les exemples incluent.

Autres conseils

PEP 8 .

Il est un guide de style pour le code Python, écrit par le créateur de Python, Guido van Rossum.

Par ailleurs, la réponse à votre question est d'utiliser underscore_case pour les variables et les noms de fonction, et PascalCase pour les classes.

Sept mots: Google Summer of Code Python Style Guide

  

Notez que certaines conventions de nommage diffèrent de pep8 et au lieu de suivre le guide de style Google Python original dont ce guide de style origine.

     
      
  • « interne » des moyens internes à un module ou protégé ou privé dans une classe.   Préfixer un seul trait de soulignement (_) a un certain soutien pour la protection des variables et des fonctions du module (non inclus avec l'importation * de).
  •   
  • Préfixer un double trait de soulignement (__) à une variable d'instance ou méthode permet effectivement de rendre la variable ou méthode privée à sa classe (en utilisant le nom mangling).
  •   
  • La place des classes et des fonctions liées à haut niveau ensemble dans un module. Contrairement à Java, il n'y a pas besoin de se limiter à une classe par module. Cependant, assurez-vous que les classes et fonctions de haut niveau dans le même module ont une grande cohésion.
  •   
  • Utilisez capwords pour les noms de classe, mais lower_with_under.py pour les noms de module.
  •   
     

Exemples Naming

     
      
  • Paquets: lower_with_under
  •   
  • Modules: lower_with_under, _lower_with_under
  •   
  • Classes: CapWords, _CapWords
  •   
  • Exceptions: CapWords
  •   
  • Fonctions: firstLowerCapWords(), _firstLowerCapWords()
  •   
  • Constantes mondial / Classe: CAPS_WITH_UNDER, _CAPS_WITH_UNDER
  •   
  • Global / Variables de classe: lower_with_under, _lower_with_under
  •   
  • Variables d'instance: lower_with_under, _lower_with_under (protégée) ou __lower_with_under (privé)
  •   
  • Noms de méthode: firstLowerCapWords(), _firstLowerCapWords() (protégée) ou __firstLowerCapWords() (privé)
  •   
  • Fonction / Paramètres de la méthode: lower_with_under
  •   
  • Variables locales: lower_with_under
  •   
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top