Um Ihre beansprucht Ausgabe zu erhalten, würde der Code haben wie diese eingerückt werden:
class testGlobal:
a=2
print(a)
def change():
global a
a = 5
change()
print(a)
Beide print
Anweisungen ausgeführt werden, während die Klasse, an welcher Stelle verweisen beide Verweise auf die -a
definiert werden Klasse Variable a
, nicht die global
Variable a
die 10 bezieht sich auf.
Wenn Sie wirklich an globalen Variablen interessiert sind, brauchen Sie diese Klasse überhaupt nicht. Probieren Sie den folgenden Code:
a = 2
print(a)
def change():
global a
a = 5
change()
print(a)
können Sie den Einzug korrigieren – depperm
Was ist der 'class testGlobal:' für? Dies muss nicht in einer Klasse sein, Python ist nicht Java. –
Sie benötigen keine äußere Klasse für dieses Problem ... –