为什么我无法再次调用该函数?或者说,我怎样才能做到呢?
假设我有这个功能:
def a(x, y, z):
if x:
return y
else:
return z
我这样称呼它:
print a(3>2, 4, 5)
I get 4.
但想象一下我声明了一个与函数同名的变量(错误地):
a=2
现在,如果我尝试这样做:
a=a(3>4, 4, 5)
or:
a(3>4, 4, 5)
我会收到此错误:“TypeError:‘int’对象不可调用”
是否无法将变量“a”分配给函数?
执行此操作后:
a = 2
a
不再是一个function,这只是一个integer(您重新分配了它!)。因此,如果您尝试像函数一样调用它,解释器自然会抱怨,因为您正在这样做:
2()
=> TypeError: 'int' object is not callable
底线:你不能同时拥有两件事同时地具有相同的名称,无论是函数、整数还是 Python 中的任何其他对象。只需使用不同的名称即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)