Ich versuche mich auf eine Zukunft in der Informatik vorzubereiten, also habe ich mit ECMAScript angefangen und versuche jetzt, mehr über Python zu lernen. Wenn man aus ECMAScript kommt und mehrere Zuweisungen sieht, wie zB a, b, c = 1, 2, 3
, bin ich einen Moment verwirrt, bis ich merke, dass es mehrere Aufgaben gibt. Um die Dinge ein wenig klarer zu machen, würde ich gerne (a, b, c) = (1, 2, 3)
machen, aber ich bin mir nicht sicher, ob dies ein messbarer Leistungshit sein wird. Von dem, was ich verstehe, Tupel sind im Wesentlichen, wie mehrere Aufgaben unabhängig arbeiten, aber es gibt eine Vielzahl von Kuriositäten in der Welt, so dass ich versuche, nichts anzunehmen.
Vielen Dank im Voraus
Es sollte keine Auswirkungen auf die Leistung haben. Die Klammern machen es nicht zu einem Tupel, das Komma macht es. Also (1,2,3) ist genau das gleiche wie 1,2,3
Mit dem dis
-Modul ist das sehr einfach zu überprüfen:
Siehe? Diese total redundanten Klammern machen einen absolut no Unterschied zum Bytecode, der generiert und ausgeführt wird - genau wie, sagen wir, a+b
und (a+b)
erzeugen und führen genau denselben Bytecode wie jeder andere aus. Wenn Sie also überflüssige Klammern hinzufügen möchten, sollten Sie sich selbst ausschließen - Leute, die Ihren Code lesen, mögen sie vielleicht nicht, aber diejenigen, die sie gerade ausführen, werden es nie bemerken. Warum nur bei zwei Paaren überflüssiger Klammern stoppen? Siehe,
sechs Paare redundanter Klammern (oder eine beliebige Anzahl tatsächlich) erzeugen immer noch genau den gleichen Code. Sobald Sie die offensichtliche minimale Anzahl von überflüssigen Klammern verlassen (überhaupt keine: Sie sind überflüssig ;-), genau wo hören Sie auf? -) Und warum dort, wenn es "frei" ist um noch ein Paar hinzuzufügen ... oder zwei ... oder drei ...? -)
Es funktioniert auch für Listen:
%Vor%funktioniert genauso gut
Tags und Links python syntax variable-assignment