python中“'xxx' object is not callable”的说明以及解决方案

在python中常常遇到这种情况,‘xxx’ object is not callable,而且往往还发生在压根看不出错误的代码中。这也难怪,因为这个提示没有任何作用。这个提示真正的意思是
任何东西都不能身兼数职
什么意思?
看这串代码

def A():
    while 1 :
        try:
            global A
            A=float(input('请输入A,只保留数字,支持小数'))
            break
        except:
            print('输入数据类型有误,请重新输入')
while 1:
	A()
	print(A)

这串代码循环到第二次,肯定是’float’ object is not callable,你去网上搜,得到的答案多半是你把float当变量了,可是这种基础错误怎么可能有人犯?
真正的原因是你把A又当变量又当函数了。正如你不能让float既当变量又当函数,你也不能让A身兼数职。
解决方案很简单,函数名后加个1或者什么东西都行。

你可能感兴趣的:(python)