범위 소개
파이썬에는 4가지 유형의 범위가 있습니다. L: 로컬, 로컬 범위, 즉 함수에 정의된 변수
E: 둘러싸기, The 중첩된 상위 함수의 로컬 범위는 이 함수를 포함하는 상위 함수의 로컬 범위이지만 전역은 아닙니다.
G: 모듈 수준에서 정의된 변수인 전역 변수; in, int, bytearray 등과 같은 시스템 고정 모듈의 변수입니다. 변수 검색의 우선순위는 로컬 범위 > 외부 범위 > 현재 모듈의 전역 > Python 내장 범위(LEGB)입니다.
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并未改变
위는 편집자가 소개한 Python의 변수 및 범위에 대한 자세한 설명입니다. 궁금한 점이 있으면 남겨주세요. 나에게 메시지를 보내면 시간 내에 답변해 드리겠습니다. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!
Python의 변수 및 범위와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!