1

我想知道在其他范围内有什么可用的,或者某个类的实例有多少正在运行,等等。诸如此类的事情。

让它甜蜜而短暂

print dir()
def func():
    #print dir(magic_keyword)
    print dir()
func()

用于从函数内部和外部获得相同结果的“magic_keyword”是什么?

我正在检查在 python 中调用 dir()但这个问题从未真正得到回答。

谢谢

4

1 回答 1

4

您正在寻找locals()globals()功能。

dir(),不带参数,返回等价的locals().keys()

globals()本质上与locals()模块范围相同,但在函数中它返回模块范围变量。

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> locals().keys()
['__builtins__', '__name__', '__doc__', '__package__']
>>> def foo():
...     return locals().keys(), globals().keys()
... 
>>> foo()
([], ['__builtins__', '__name__', 'foo', '__doc__', '__package__'])
于 2012-11-01T14:48:24.230 回答