45 Stimmen

Python "beste Formatierungspraxis" für Listen, Wörterbücher, etc.

Ich habe mir die Python Dokumentation für bewährte Verfahren zur Codeformatierung, z. B. für große Listen und Wörterbücher,

something = {'foo' : 'bar', 'foo2' : 'bar2', 'foo3' : 'bar3'..... 200 chars wide, etc..}

o

something = {'foo' : 'bar',
             'foo2' : 'bar2',
             'foo3' : 'bar3',
             ...
             }

o

something = {
             'foo' : 'bar',
             'foo2' : 'bar2',
             'foo3' : 'bar3',
             ...
             }

Wie behandle ich tiefe Verschachtelungen von Listen/Wörterbüchern?

2voto

ianaré Punkte 3070

Auf jeden Fall NICHT Option 1, eine der Stärken von Python ist seine Lesbarkeit. Option 1 beeinträchtigt diese Lesbarkeit erheblich.

Bei 2 und 3 schließe ich mich den Gründen an, die pyfunc für beide genannt hat.

In meinem eigenen Code bevorzuge ich jedoch Option 3, weil das erste Element manchmal "verloren" geht, weil es am Ende der Deklarationszeile steht, und ich es bei einem kurzen Blick auf den Code manchmal nicht sofort sehe. Ich weiß, es ist ein bisschen albern, aber der Verstand arbeitet auf mysteriöse Weise ...

1voto

pyfunc Punkte 63257

Ich bevorzuge die zweite oder dritte Variante.

Der Grund:

  1. Jedes Element steht in einer eigenen Zeile
  2. Das Erreichen des Zeilenendes zum Hinzufügen eines neuen Elements ist in einem Texteditor mühsam
  3. Das Hinzufügen eines neuen Elements ist einfach
  4. Mit der dritten Option können Sie manchmal die Anzahl der Elemente überprüfen, indem Sie diese Zeilen auswählen. In den meisten Editoren wird die Anzahl der ausgewählten Zeilen angezeigt.

1voto

Klaus Byskov Pedersen Punkte 111081

Nun, die erste ist ein No-Go, da Ihre Zeilen nur 79 Zeichen breit sein sollten. Was die beiden anderen Optionen angeht, so ist das wohl Geschmackssache, aber ich persönlich bevorzuge die zweite Option.

0voto

jaydel Punkte 13707

Bevor ich diesen Beitrag gelesen habe, hätte ich mich für die dritte von Ihnen genannte Möglichkeit entschieden. Aber jetzt würde ich mich vielleicht für die Option entscheiden, die NICHT Török Gábors Stil ist:

my_dictionary = { 1: 'etwas', 2: 'eine andere Sache', }

Aber ehrlich gesagt ist alles außer der ersten Option wahrscheinlich in Ordnung.

-1voto

kasx93 Punkte 1

Ich liebe den zweiten Weg:

something = {'foo' : 'bar',
         'foo2' : 'bar2',
         'foo3' : 'bar3',
         ...
         'fooN': 'barN'}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X