我编写了如下代码:
start = 96
range = 5
for d in range(start, start+range):
print d
但我得到例外如下:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
Python不支持范围函数中的多个变量吗?
答案 0 :(得分:4)
你覆盖了range
。
>>> range(5)
[0, 1, 2, 3, 4]
>>> range = 2
>>> range(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
阴影(覆盖)内置函数不是一个好习惯。
答案 1 :(得分:2)
答案就在这一行
range = 5
您可以分配内置函数,因此它与执行
相同a = 5
a()
不允许这样做。尝试
range_ = 5
range(start, start+range_)
答案 2 :(得分:1)
range
可以像任何标识符一样表示数字或函数(或其他内容),但不能同时表示两者。使用其他变量名称