wie append-Element, um eine Globale Liste von innerhalb einer Prozedur
Bekomme ich einen syntax-Fehler, wenn ich dies tun:
p = []
def proc(n):
for i in range(0,n):
C = i
global p.append(C)
Ich denke, diese Frage würde sich verbessern, wenn Sie den Inhalt des Titels in die eigentliche Frage.
Liste der spezifischen Fehler, die Sie bekommen.
Liste der spezifischen Fehler, die Sie bekommen.
InformationsquelleAutor user2250337 | 2013-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändere es einfach um Folgendes:
Den
global
- Anweisung kann nur verwendet werden, an der Spitze einer Funktion, und es ist nur notwendig, wenn Sie die Zuweisung an die Globale variable. Wenn Sie nur das ändern eines änderbaren Objekts nicht verwendet werden müssen.Hier ist ein Beispiel für die korrekte Verwendung:
Ohne die global-Anweisung in der obigen Funktion werden diese nur erstellen, eine lokale variable in der Funktion anstelle von ändern den Wert der globalen variable.
def set_n(): b = 1; global n; n = i + b
funktioniert in deinem zweiten Beispiel. Ich denke, es ist nur so, dassn
muss als global deklariert, bevor es wird analysiert, aus einem anderen Grund, aber das ist eine sehr geringfügige kleinlich.Ja, die
global
braucht nur zu erscheinen, bevor seine Referenten verwendet wird (und nur dann erhält eine Warnung, wenn nicht). Aber +1 trotzdem für die Erwähnung der ändern-vielseitig-versus-Zuweisung unterschieden.InformationsquelleAutor Andrew Clark
Das problem ist das Sie versuchen, zu drucken, Liste, sondern direkt konvertieren in eine Zeichenfolge, bevor Sie drucken,und als array ist ein Mitglied der Klasse Student, die Sie benötigen, verweisen Sie mit "selbst".
Der folgende code funktioniert:
InformationsquelleAutor Ramakanth Putta