Python3内置函数汇总

目录

Python3 locals() 函数详解 获取当前环境的局部变量集合

locals()函数的主要作用是获取当前环境的局部变量,如果在模块(非函数体内)直接使用的话结果与globals()是一致的,但是如果在方法或者类方法等函数体内使用时,它只返回代表当前函数体的局部变量。
它是Python的内置函数,在python文件中直接可以使用。

locals

语法

locals()

参数

返回值

当前环境的局部变量

实例

§ 实例1 - 模块(非函数体内)
>>> globals()
#{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>}
>>> locals()
#{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>}

#locals()和globals()结果一致
§ 实例2 - 方法中
#声明全局变量out。
>>> out = 1
#声明方法,方法有一个inside参数。
>>> def run(inside):
...     print(locals())
...
#运行方法
>>> run(5)
#结果中只有inside一个参数,它无法在方法体内获取到外面的全局变量out。
{'inside': 5}
§ 实例3 - 类方法中
#声明类
>>> class main():
...     a = 1
...     b = 2
...     def run(self):
...         print(locals())
...
#实例化类
>>> app = main()
#运行类中的方法run
>>> app.run()
#结果只有self,甚至连类声明的属性a和b都是无法获取到的。
{'self': <__main__.main object at 0x00000000021CFA20>}

如果有任何建议或意见,欢迎交流沟通

作者:张恺阳

本文链接:https://www.zky.name/article/32.html

来源:张恺阳博客