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 に答える