今天在写代码的过程中遇到个很奇怪的问题:明明是一个列表变量,但是没法用len函数取这个列表的长度,代码以及报错如下:
自己折腾了好一会都找不到错误原因,发到群里以后,一个大神帮我找到了原因:
我一找,果然在前面有这么一句代码:
len=len(baiduspider_dic)
在这之前我用了len=len(baiduspider_idc),没想到后面再用这个len函数就用不了了。
我这样做的问题就在于:len虽然是内置的函数,但是被重新赋值了。所以在python编程中,不能把变量名写成内置函数名,不然就会出错!例如我下面的这种写法:
iii=[1,2,3]
len=123
print(len(iii))
报错信息为:TypeError: ‘int’ object is not callable
原因就是我让len=123这个数字了。