Je ne trouve aucune référence PEP à l'utilisation d'une ligne vide avant le retour, donc je voudrais savoir quelle est la pratique courante.Ligne vide avant l'instruction return dans une fonction Python
Exemple A1:
def add(a,b):
""" docstrings"""
a = a + 2
b = b + 2
c = a +b
return c
Exemple A2:
def add(a,b):
""" docstrings"""
a = a + 2
b = b + 2
c = a +b
return c
Exemple B1:
def add(a,b):
""" docstrings"""
if a > b:
c = a + b
else:
c = a -b
return c
Exemple B2:
def add(a,b):
""" docstrings"""
if a > b:
c = a + b
else:
c = a -b
return c
Exemple C1:
def add(a):
""" docstrings"""
for i in range(3):
a = a + i
return a
Exemple C2:
def add(a):
""" docstrings"""
for i in range(3):
a = a + i
return a
Lesquels sont la pratique courante dans ces cas d'utilisation (A, B, C)? Est-ce que quelque chose change quand un bloc de if-else ou une boucle est impliqué avant la déclaration de retour?
Il n'y a pas de pratique courante. Je préfère avoir une ligne vide avant la déclaration de retour, d'autres pourraient préférer ne pas. Suivez la convention du projet sur lequel vous travaillez, ou respectez la vôtre si c'est un nouveau projet. – Maroun
De [PEP8] (https://www.python.org/dev/peps/pep-0008/#blank-lines): "_Utilisez des lignes vides dans les fonctions, avec parcimonie, pour indiquer les sections logiques._". Cela dépend de la préférence personnelle ou des conventions du projet, comme l'a dit Maroun. Pour moi, c'est une décision par cas; dans de petites fonctions comme la vôtre, je ne laisse habituellement pas de ligne blanche avant la déclaration de retour. –
En ce qui concerne les lignes vides après docstrings, voir les exemples dans [PEP 257] (https://www.python.org/dev/peps/pep-0257/): pas de ligne vide. –