【发布时间】:2010-03-17 01:22:44
【问题描述】:
既然函数在 Python 中是值,那么如何判断变量是否是函数呢?
例如:
boda = len # boda is the length function now
if ?is_var_function(boda)?:
print "Boda is a function!"
else:
print "Boda is not a function!"
如果x 是一个可调用函数,这里假设的?is_var_function(x)? 应该返回true,否则返回false。
【问题讨论】:
-
您是否希望它也为类返回 true,因为它们是可调用的?
-
是什么阻止你阅读代码?
-
是的,但有时您实际上需要使用反射——例如,MVC 框架可能需要加载一个类并检查其成员。但这肯定是您的日常代码应该避免的。
-
感谢您的精彩回答!我实际上是想确定这个东西是否可以调用,而不仅仅是一个函数。对不起,我还是 Python 新手。