>  기사  >  백엔드 개발  >  Python의 변수와 범위

Python의 변수와 범위

高洛峰
高洛峰원래의
2017-02-28 17:00:151219검색

범위 소개

파이썬에는 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 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.