> 백엔드 개발 > 파이썬 튜토리얼 > Python의 변수 및 범위에 대한 자세한 설명

Python의 변수 및 범위에 대한 자세한 설명

WBOY
풀어 주다: 2016-08-04 08:55:39
원래의
1655명이 탐색했습니다.

범위 소개

파이썬에는 4가지 유형의 범위가 있습니다. L: 로컬, 로컬 범위, 즉 함수에 정의된 변수

E: 포함, 중첩된 상위 함수의 로컬 범위, 즉 이 함수를 포함하는 상위 함수의 로컬 범위(전역은 아님)

G: 모듈 수준에서 정의된 변수인 전역 변수 B: 내장, 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의 변수 및 범위에 대한 자세한 설명입니다. 궁금한 사항이 있으면 메시지를 남겨주시면 편집자가 시간에 맞춰 답변해 드리겠습니다. 또한 Script House 웹사이트를 지원해 주시는 모든 분들께 감사의 말씀을 전하고 싶습니다!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿