为什么不能再次调用该函数?或者,我该怎么做?
假设我有这个功能:
def a(x, y, z):
if x:
return y
else:
return z
我称之为:
print a(3>2, 4, 5)
我得到4。
但是,假设我声明了一个与该函数同名的变量(错误):
a=2
现在,如果我尝试这样做:
a=a(3>4, 4, 5)
要么:
a(3>4, 4, 5)
我将收到此错误:“ TypeError:'int'对象不可调用”
是否无法将变量“ a”分配给该函数?
完成此操作后:
a = 2
a
不再是一个函数,而只是一个整数(您已将其重新分配!)。因此,很自然地,如果您尝试将其视为函数,则解释器会抱怨,因为您正在这样做:
2()
=> TypeError: 'int' object is not callable
底线:您不能同时使用相同的名称同时包含两件事,无论是函数,整数还是Python中的任何其他对象。只需使用其他名称即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句