Comment puis-je faire un saut de ligne (ligne de continuation) en Python?
J'ai une longue ligne de code que j'ai envie de casser entre plusieurs lignes. Que dois-je utiliser et quelle est la syntaxe?
Par exemple, l'ajout d'un bouquet de chaînes,
e = 'a' + 'b' + 'c' + 'd'
en deux lignes comme ceci:
e = 'a' + 'b' +
'c' + 'd'
Vous devez vous connecter pour publier un commentaire.
Quelle est la ligne? Vous pouvez juste avoir des arguments sur la ligne suivante sans aucun problème:
Sinon, vous pouvez faire quelque chose comme ceci:
Vérifier la guide de style pour plus d'informations.
À partir de votre ligne exemple:
Ou:
Noter que le guide du style dit que l'utilisation de l'implicite poursuite avec des parenthèses est préféré, mais dans ce cas particulier, juste l'ajout de parenthèses autour de votre expression est probablement pas la voie à suivre.
(spam + eggs + foo + bar + moreSpam + moreEggs)
car en python spam et les œufs sont traditionnelles.ans['Interfaces Declared by Environment'][env_.name][interface_] = None
? Cette ligne est trop longue, mais je ne sais pas où couper!De Guide de Style pour le Code Python:
EDIT: PEP8 recommande désormais la en face de convention (pour casser à des opérations binaires) utilisé par les Mathématiciens et leurs éditeurs pour améliorer la lisibilité.
Donald Knuth du style de la rupture de la avant un opérateur binaire aligne les opérateurs verticalement, réduisant ainsi l'œil de la charge de travail au moment de déterminer les éléments qui sont ajoutés et le soustrait.
De PEP8: si un saut de ligne avant ou après un opérateur binaire?:
[3]: Donald Knuth est Le TeXBook, pages 195 et 196
The preferred way .. is by using Python's implied line continuation inside parentheses
c'est la même chose queby wrapping expressions in parentheses
. J'ai mis à jour exempleLe danger de l'utilisation d'un antislash à la fin d'une ligne, c'est que si l'espace est ajouté après la barre oblique inverse (ce qui, bien sûr, est très difficile à voir), la barre oblique inverse n'est plus à faire ce que vous pensiez qu'il était.
Voir Python Idiomes et Anti-expressions idiomatiques (pour Python 2 ou Python 3) pour plus d'.
set list listchars=trail:·
dans vim. 🙂Mettre un
\
à la fin de votre ligne ou de joindre à la déclaration en parens( .. )
. De IBM:ou
Vous pouvez les lignes de cassure entre parenthesises et les accolades. En outre, vous pouvez ajouter le caractère barre oblique inverse
\
à une ligne explicitement le casser:Peut-être pas le pythonic façon, mais j'utilise généralement de la liste avec la fonction join pour l'écriture d'une longue chaîne comme des requêtes SQL.
Prises à partir de La Hitchhiker's Guide to Python (Continuation De Ligne):
Ayant cela dit, voici un exemple en ce qui concerne plusieurs des importations (en cas de dépassement de ligne de limites, définies sur la PEP-8):