2017-03-22 4 views

Antwort

1

Dies zeigt nur, dass die "append" -Methode nichts zurückgibt. Es ändert nur die vorhandene Liste. Es gibt keine aktualisierte Liste zurück.

Stören Sie nicht a = a.append(4). Wenn Sie nur einen Eintrag zur Liste hinzufügen möchten, ändern Sie a.append(4), um a zu ändern.

3

Weil Sie eine Ausgabe an den Akt der Anfügen sind zuweisen, die keinen Ausgang hat, so statt:

a=a.append(5) 

Sie wollen einfach nur

a.append(5) 
1

Ich versuche, auf die einfachste Art und Weise zu erklären, : mit:

a.append(5) 

Sie die Funktion aufrufen, die etwas (in diesem Fall fügt) zu einem

mit:

a = a.append(5) 

Sie sagen, dass ein das Ergebnis der funcion .append gleich ist(). Aber append ändert nur eine vorhandene Liste, es gibt nichts zurück, und es gibt nicht, wie Sie dachten, eine neue Liste mit dem angehängten Element zurück.

+1

Dies ist sachlich falsch. Wenn das Append "die Funktion zum Hinzufügen von etwas zu einer Liste" zurückgibt, dann könnten Sie das Ergebnis als eine Funktion aufrufen. Es tut das nicht; es gibt einfach nichts zurück. – user108471

+0

Das Sagen von a = function() (wobei function() 1 zurückgibt) ist dasselbe wie a = 1. Wenn also .append() * None * zurückgibt, gibt a = append (5) auch * None * zurück. Allerdings habe ich versucht, es besser zu erklären –

+0

Das ist wahr, aber Ihre Aussage "' a' ist gleich der Funktion, etwas zur Liste hinzuzufügen "ist immer noch irreführend, weil' a' keiner Art von Funktion gleich ist. Dies ist eine Unterscheidung, die sehr wichtig ist, da Variablen _can_ in Python die gleichen Funktionen haben, und es ist sehr üblich, dass Funktionen Funktionen zurückgeben (z. B. Dekoratoren). – user108471

Verwandte Themen