Conventions de syntaxe en python

From All4Dev

Il n'y a pas de convention universelle, qui ferait l'unanimité de tous les développeurs Python. Cet article reprend les conventions adoptées au sein d'Easter-eggs.

Règles de nommage

Concernant le nommage, les conventions suivantes sont utilisées :

     spam, spamAndEggs
     __spamAndEggs = 2
     class Spam, class SpamAndEggs
     def spam_and_eggs(self):
     def __spam_and_eggs(self):
     def event_cb(self, widget, event, *args):
     SPAM_AND_EGGS = 3

Écriture du code

Deux conventions possibles pour l'écriture du code. Le choix de la convention dépendant du goût de chacun ainsi que de la complexité du code à écrire :

     class Spam:
         ```This class defines some spam slices```
         def __init__(self):
            self.slices = 0
         def add_slices(self, count=1):
             self.slices += count
     class Eggs:
        ```This class defines an egg```
        def __init__(self):
            self.__cooked = 0
        def do_cook(self):
            self.__cooked = 1
        def is_cooked(self):
            return self.__coocked
     class Spam:
         ```This class defines some spam slices```
         def __init__(self):
            self.slices = 0
         def add_slices(self, count=1):
             self.slices += count
     class Eggs:
        ```This class defines an egg```
        def __init__(self):
            self.__cooked = 0
        def do_cook(self):
           self.__cooked = 1
        def is_cooked(self):
            return self.__coocked
     self.spam = 3
     def add_slices(self, count=1):
     spam = 3                            spam     = 3
     saussage = 1       plutot que       saussage = 1
     eggs = 5                            eggs     = 5

Importation des modules

Dans la mesure du possible, préférer faire un import de module de la forme:

    import os

Plutôt qu'un import de la forme:

    from os import *

Ceci permet de lever les ambiguïtés, et de savoir à tout instant d'un provient l'objet, la variable ou la classe invoquée. Ainsi, on écrira:

    os.path.join(self.path, '/test.py')

au lieu de

    join(self.path, '/test.py')