美文网首页
Python内置函数-locals()和globals()

Python内置函数-locals()和globals()

作者: 莫忘初心_倒霉熊 | 来源:发表于2020-02-17 16:19 被阅读0次

局部名字空间可以通过内置的 locals() 函数来访问。
全局名字空间可以通过 globals() 函数来访问。

locals()函数:以字典类型返回当前位置的全部局部变量。对于函数, 方法, lambda 表达式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。

def test(arg):
    z = 1
    print locals()
test(4)                                           # {'z': 1, 'arg': 4}
test('good good study')                        # {'z': 1, 'arg': 'good good study'}

globals()函数:以字典类型返回当前位置的全部全局变量。

>>> globals()
{'__name__': '__main__', 
'__doc__': None, 
'__package__': None,
'__loader__': <class '_frozen_importlib.BuiltinImporter'>, 
'__spec__': None, 
'__annotations__': {}, 
'__builtins__': <module 'builtins' (built-in)>}

注意:定义的所有全局变量,包括类,函数,变量,都会添加到globals()返回的字典中。

>>> class testClass(object):
...     pass
... 
>>> testVar = 100
>>> def testDef():
...     pass
... 
>>> globals()
{'__name__': '__main__',
'__doc__': None, '__package__': None, 
'__loader__': <class '_frozen_importlib.BuiltinImporter'>, 
'__spec__': None, 
'__annotations__': {},
'__builtins__': <module 'builtins' (built-in)>, 
'testClass': <class '__main__.testClass'>, 
'testVar': 100, 
'testDef': <function testDef at 0x1018f9ef0>}

相关文章

网友评论

      本文标题:Python内置函数-locals()和globals()

      本文链接:https://www.haomeiwen.com/subject/umbbfhtx.html