Python内置函数locals

高洛峰
풀어 주다: 2016-11-05 14:17:08
원래의
1190명이 탐색했습니다.

英文文档:

locals()

Update and return a dictionary representing the current local symbol table. Free variables are returned by locals() when it is called in function blocks, but not in class blocks.

说明:

  1. 函数功能返回当前作用域内的局部变量和其值组成的字典,与globals函数类似(返回全局变量)

>>> locals() {'__package__': None, '__loader__': , '__doc__': None, '__name__': '__main__', '__builtins__': , '__spec__': None} >>> a = 1 >>> locals() # 多了一个key为a值为1的项 {'__package__': None, '__loader__': , 'a': 1, '__doc__': None, '__name__': '__main__', '__builtins__': , '__spec__': None}
로그인 후 복사

  2. 可用于函数内。

>>> def f(): print('before define a ') print(locals()) #作用域内无变量 a = 1 print('after define a') print(locals()) #作用域内有一个a变量,值为1 >>> f  >>> f() before define a {} after define a {'a': 1}
로그인 후 복사

 3. 返回的字典集合不能修改。

>>> def f(): print('before define a ') print(locals()) # 作用域内无变量 a = 1 print('after define a') print(locals()) # 作用域内有一个a变量,值为1 b = locals() print('b["a"]: ',b['a']) b['a'] = 2 # 修改b['a']值 print('change locals value') print('b["a"]: ',b['a']) print('a is ',a) # a的值未变 >>> f() before define a {} after define a {'a': 1} b["a"]: 1 change locals value b["a"]: 2 a is 1 >>>
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!