我有一个如下所示的函数,带有大量的可选参数。其中一个参数,在所有其他参数中有一个是text
。Python“NoneType不可调用”错误
我处理text
特别是因为如果它是一个布尔值,那么我想运行的基础上做一些事情。如果不是(这意味着它只是一个字符串),那么我会做其他事情。代码看起来大致是这样的:
def foo(self, arg1=None, arg2=None, arg3=None, ..., text=None, argN=None, ...):
...
if text is not None:
if type(text)==bool:
if text:
# Do something
else:
# Do something else
else:
# Do something else
我上type(text)==bool
线以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "...", line 79, in foo
if type(text)==bool:
TypeError: 'NoneType' object is not callable
不知道是什么问题。我应该以不同的方式测试类型吗?在python命令行上进行实验似乎证实了我的工作方式。
你有一个叫'type'的参数吗? – SilentGhost 2010-07-19 17:34:38
@SilentGhost,应该是个答案。 – 2010-07-19 17:37:14
@Matthew:如你所愿:) – SilentGhost 2010-07-19 17:38:37