4
A
回答
4
您可以使用inspect模塊:
import inspect
import sys
def test():
pass
functions = [name for name, obj in inspect.getmembers(sys.modules[__name__], inspect.isfunction)]
print functions
打印:
['test']
4
您可以使用globals()
搶在文件的全局範圍內定義的一切,inspect
篩選你所關心的對象。
[ f for f in globals().values() if inspect.isfunction(f) ]
2
使用globals()
和types.FunctionType
>>> from types import FunctionType
>>> functions = [x for x in globals().values() if isinstance(x, FunctionType)]
演示:
from types import FunctionType
def func():pass
print [x for x in globals().values() if isinstance(x, FunctionType)]
#[<function func at 0xb74d795c>]
#to return just name
print [x for x in globals().keys() if isinstance(globals()[x], FunctionType)]
#['func']
1
>>> def test():
... pass
...
>>> [k for k, v in globals().items() if callable(v)]
['test']
1
首先,我們將創建我們想找到test
功能。
def test():
pass
接下來,我們將創建您想要的some_command_here
函數。
def some_command_here():
return filter(callable, globals().values())
最後,我們呼籲新的功能和過濾器轉換成tuple
觀看。
tuple(some_command_here())
注:它會搜索當前全局命名空間,並返回調用的東西(不僅僅是函數)。
實施例:
>>> def test():
pass
>>> def some_command_here():
return filter(callable, globals().values())
>>> tuple(some_command_here())
(<function test at 0x02F78660>,
<class '_frozen_importlib.BuiltinImporter'>,
<function some_command_here at 0x02FAFDF8>)
>>>
相關問題
- 1. 如何查找在Azure環境中運行的所有部署?
- 2. 在新環境中R用戶定義的函數
- 3. 在CUDA運行時環境中定義的API函數
- 4. 在jQuery中查找綁定到函數的所有元素?
- 5. 通過函數名查找調用堆棧中的父環境
- 6. 在python中定義自定義函數
- 7. R:環境查找
- 8. 函數查找()在所有情況下
- 9. Python函數沒有定義
- 10. 查找所有apache環境變量的名稱和視圖
- 11. Visual Studio中自定義Python環境中的PATH環境變量已更改
- 12. 在全局環境中使用exec從函數內部定義函數
- 13. 查找使用函數的包中的所有函數
- 14. 在Enterprise Architect中「在所有圖中查找」的等效函數
- 15. 在beautifulsoup python中查找所有(「a」)
- 16. 在AR環境中查找路徑
- 17. 查找圖中的所有閉環
- 18. 這是所謂的命名空間函數定義查找?
- 19. 查找給定函數f的輸出中涉及的所有函數和類?
- 20. 在定義函數循環
- 21. 查找缺少的函數定義
- 22. 如何查找從Python命令行定義函數的文件
- 23. 定義Python函數找到combinatrics
- 24. 在ArcGIS環境中的Python
- 25. 在SQL Server中查找表中所有不同值的函數
- 26. 查找給定包所定義的所有選項
- 27. 在所有conda環境中安裝OpenCV
- 28. 如何在Rails 3應用程序中列出所有定義的環境?
- 29. 在Python中定義函數的乘法?
- 30. 在Python中定義的函數列表
絕對迄今提出1的最好的方式 –