Einführung in den Geltungsbereich
Es gibt 4 Arten von Bereichen in Python: L: lokal, lokaler Bereich, dh in der Funktion definierte Variablen
E: Einschließen, der lokale Bereich der verschachtelten übergeordneten Funktion, d. h. der lokale Bereich der übergeordneten Funktion, die diese Funktion enthält, aber nicht global;
G: globale Variablen, bei denen es sich um auf Modulebene definierte Variablen handelt; B: integrierte Variablen in systemfesten Modulen wie int, bytearray usw. Die Prioritätsreihenfolge bei der Suche nach Variablen lautet: lokaler Bereich > äußerer Bereich > global im aktuellen Modul > in Python integrierter Bereich, der LEGB ist.
x = int(2.9) # int built-in g_count = 0 # global def outer(): o_count = 1 # enclosing def inner(): i_count = 2 # local
#定义变量a >>> a = 0 >>> print a 0 #定义函数p() >>> def p(): ... print a ... >>> p() 0 #定义函数p2() >>> def p2(): ... print a ... a = 3 ... print a ... >>> p2() # 运行出错,外部变量a先被引用,不能重新赋值 Traceback (most recent call last): File "<interactive input>", line 1, in <module> File "<interactive input>", line 2, in p2 UnboundLocalError: local variable 'a' referenced before assignment #定义函数p3() >>> def p3(): ... a = 3 # 不引用直接赋值 ... print a ... >>> p3() 3 >>> print a 0 # 外部变量a并未改变