2017-04-14 2 views
1

Ich bin neu zu Python und war daran interessiert, wenn Code in eine Zeile (im Gegensatz zu vielen) gesetzt wird, ist immer der Weg zu gehen.Definieren von zwei Variablen in einer Zeile, im Gegensatz zu 2 Zeilen

Zum Beispiel machen die zwei Codeschnipsel genau dasselbe, aber der erste hat eine Codezeile ausgeschnitten. Wird dies als "unpythonisch" angesehen?

mean1, var1 = np.mean(value), np.var(value)  

Or ..

mean1 = np.mean(value) 
var1 = np.var(value)       
+0

können Sie auch 'mean1 = np.mean (value); var1 = np.var (Wert) '. Auspacken ist hier nicht notwendig, weil Sie kein Tupel haben. Du _build_ ein Tupel zum Entpacken auf 2 Variablen. Ich würde den zweiten Ansatz machen. –

+0

Danke! Gibt es einen empfohlenen Weg, oder ist es eine persönliche Präferenz? – Ben

+0

Ah okay. Das macht Sinn. Ich werde nur mit dem zweiten Ansatz gehen. – Ben

Antwort

0

Das Konstrukt:

a,b = c 

ist besonders nützlich, um auszupackenc die als bekannt ist/iterable von 2 Elementen.

Die Nützlichkeit, dass:

mean1, var1 = np.mean(value), np.var(value) 

ist zweifelhaft: Sie tuple auf der rechten Seite zu erstellen, nur um die Lage sein, sie auf der linken Seite zu entpacken. Wenn der Effekt ist ein Einzeiler, könnten Sie auch dies tun:

mean1 = np.mean(value); var1 = np.var(value) 

so erstellen Sie kein zusätzliches temporäres Objekt.

+0

Danke! Das ist nützlich zu wissen. – Ben

Verwandte Themen