En Python, je veux écrire un dict multi-lignes dans mon code. Il existe plusieurs façons de le formater. En voici quelques-unes auxquelles je pourrais penser:
mydict = { "key1": 1, "key2": 2, "key3": 3, }
mydict = { "key1": 1, "key2": 2, "key3": 3, }
mydict = { "key1": 1, "key2": 2, "key3": 3, }
Je sais que tout ce qui précède est syntaxiquement correct, mais je suppose qu'il existe un style d'indentation et de saut de ligne préféré pour les dictionnaires Python. Qu'Est-ce que c'est?
Remarque: ce n'est pas un problème de syntaxe. Tout ce qui précède est (pour autant que je sache) des instructions Python valides et sont équivalentes les unes aux autres.
python
indentation
code-formatting
multiline
Ryan C. Thompson
la source
la source
Réponses:
J'utilise # 3. Idem pour les longues listes, les tuples, etc. Il ne nécessite pas d'ajouter d'espaces supplémentaires au-delà des indentations. Comme toujours, soyez cohérent.
De même, voici ma façon préférée d'inclure de grandes chaînes sans introduire d'espaces (comme vous le feriez si vous utilisiez des chaînes multilignes triples):
la source
Tout d'abord, comme Steven Rumbalski l'a dit, "PEP8 ne répond pas à cette question", c'est donc une question de préférence personnelle.
J'utiliserais un format similaire mais pas identique à votre format 3. Voici le mien et pourquoi.
la source
Puisque vos clés sont des chaînes et que nous parlons de lisibilité, je préfère:
la source
c = function(a=1, b=2)
est plus "pythonique".Habituellement, si vous avez de gros objets python, il est assez difficile de les formater. Personnellement, je préfère utiliser certains outils pour cela.
Voici python-beautifier - www.cleancss.com/python-beautify qui transforme instantanément vos données en style personnalisable.
la source
la source
D'après mon expérience avec les didacticiels et d'autres choses, le numéro 2 semble toujours préféré, mais c'est un choix de préférence personnelle plus que toute autre chose.
la source
En règle générale, vous n'incluez pas la virgule après l'entrée finale, mais Python corrigera cela pour vous.
la source