在python中如何在没有实际运行函数的情况下检查函数是否存在(即使用try)?我会测试它是否存在于模块中。
答案 0 :(得分:27)
答案 1 :(得分:11)
您建议try
except
。你确实可以使用它:
try:
variable
except NameError:
print("Not in scope!")
else:
print("In scope!")
检查variable
是否在范围内(它不调用该函数)。
答案 2 :(得分:8)
Solution1:
import inspect
if (hasattr(m, 'f') and inspect.isfunction(m.f))
Solution2:
import inspect
if ('f' in dir(m) and inspect.isfunction(m.f))
其中:
m =模块名称
f =以m
答案 3 :(得分:0)
如果要检查软件包中是否存在函数:
import pkg
print("method" in dir(pkg))
如果要检查脚本/名称空间中是否存在函数:
def hello():
print("hello")
print("hello" in dir())
答案 4 :(得分:0)
如果要在类中查找函数,则可以使用“ __dict__”选项。例如,检查“ some_class”中的函数“ some_function”是否起作用:
if "some_function" in list(some_class.__dict__.keys()):
print('Function {} found'.format ("some_function"))
答案 5 :(得分:0)
如果您要在代码中查找函数,请使用 global()
if "function" in globals():
...