今天犯了一个超级傻逼的错误,求 list 长度的时候直接赋值:len() = len()(list1),结果执行的时候报出错误:
UnboundLocalError: local variable ‘len’ referenced before assignment
我还奇怪,求长度 len()还需要事先声明吗?我把赋值指令去掉,直接 print len(list1) 想打印输出来着,结果一样的错误。在网上一查,才发现变量名称和函数名重复了,虽然 print len(list1) 在前,但是编译时系统自动把所有的 len都当成变量,而我刚好没有对它进行声明。改为 xlen = len(list1),再执行就没有问题了。