Retourner au contenu associé (entrée de forum : Python: Return value not found in function)
Posté par GuieA_7 (site web personnel) le 30 mars 2021 à 23:44. En réponse au message Python: Return value not found in function. Évalué à 9.
Voici quelques retour sur ton code pour faire du code plus idiomatique (et donc plus court, lisible, simple et facile à débugger) :
Tu respectes PEP8 plutôt bien, mais dans les listes arguments (et les listes, les dictionnaires...) il faut un espace après les virgules.
Évite les index quand un itérateur fait le boulot:
for j in range(len(history)): if (message["email"] in history[j]): ...
deviendrait:
for history_info in history: if message["email"] in history_info: ...
if order_info != {}: ...
s'écrit plutôt :
if order_info: ...
with
file = open(..., "w") file.write(cont) file.close()
gagne à être écrit :
with open(..., "w") as f: f.write(cont)
Pour les chemins de fichier utilise par exemple os.path.join() qui mettra le bon séparateur suivant la plateforme.
os.path.join()
Les list comprehension c'est la vie:
lst = [] for lst3 in history: lst.append(",".join(lst3)) cont = "\n".join(lst)
peut s'écrire :
lst = [",".join(h) for h in history] cont = "\n".join(lst)
Qu'on simplifie alors en :
cont = "\n".join([",".join(h) for h in history])
Et avec la magie des generator expressions ça peut même être encore plus joli (les [] disparaissent):
[]
cont = "\n".join(",".join(h) for h in history)
eval()
Bon courage pour la suite !
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Moult remarques
Posté par GuieA_7 (site web personnel) . En réponse au message Python: Return value not found in function. Évalué à 9.
Voici quelques retour sur ton code pour faire du code plus idiomatique (et donc plus court, lisible, simple et facile à débugger) :
Tu respectes PEP8 plutôt bien, mais dans les listes arguments (et les listes, les dictionnaires...) il faut un espace après les virgules.
Évite les index quand un itérateur fait le boulot:
deviendrait:
s'écrit plutôt :
withpour la gestion des fichiers (c'est plus court et le fichier est fermé même en cas d'erreur)gagne à être écrit :
Pour les chemins de fichier utilise par exemple
os.path.join()qui mettra le bon séparateur suivant la plateforme.Les list comprehension c'est la vie:
peut s'écrire :
Qu'on simplifie alors en :
Et avec la magie des generator expressions ça peut même être encore plus joli (les
[]disparaissent):eval()soit une bonne idée (surtout quand on manipule des données externes).Bon courage pour la suite !