2012-02-12 12 views
0

pythonの "dir()"関数は、クラスのすべての属性を取得します。私はユーザー定義の関数だけを返す同様の関数があるのだろうかと思っていましたか?ありがとう!pythonの組み込み関数以外のものを取得する

+3

あなたは見たくない属性の例を挙げることができますか? –

答えて

3

ユーザー定義関数から組み込み関数を呼び出す場合は、typesモジュールを使用します。例えば :

>>> def hello(): 
...  print("hi") 
... 
>>> import types 
>>> type(hello) is types.BuiltinFunctionType 
False 
>>> type(hello) is types.FunctionType 
True 

その後、それはあなたがdo.Youに望むものに依存しますが、クラスのすべての属性をチェックして、唯一の真であることが判明しているものを維持するために、リストの内包表記を使用することができます。

[ x for x in dir(yourclass) if (type(x) is types.FunctionType) ] 

希望します。

+0

素晴らしい!これは完璧です。 tks! – delita

関連する問題