2009-07-20 10 views
3

私はこれを思い付いている:私はその醜いを知っ(パイソン)を組み込み関数やメソッドをリスト

[a for a in dir(__builtins__) if str(type(getattr(__builtins__,a))) == "<type 'builtin_function_or_method'>"] 

。あなたはこれを行うためのより良い/もっとピジョンの方法を私に見せてもらえますか?

import inspect 

filter(inspect.isbuiltin, (member for name, member in inspect.getmembers(__builtins__))) 

編集:inspect module

答えて

6

あり、もう少し密接にドキュメントを読んで、私は__getattr__

import inspect 

members = (member for name, member in inspect.getmembers(__builtins__)) 
filter(inspect.isbuiltin, members) 
2

を使用していません。ここのgetattrのない変化だこのバリアントを思い付い:

import inspect 
[n.__name__ for n in __builtins__.__dict__.values() if inspect.isbuiltin(n)] 

また、 l関数ポインタ:

import inspect 
[n for n in __builtins__.__dict__.values() if inspect.isbuiltin(n)] 
関連する問題