0

我编写了如下代码:

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不支持范围函数中的多个变量吗?

4

3 回答 3

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

遮蔽(覆盖)内置函数不是一个好习惯。

于 2013-07-18T10:01:58.130 回答
2

答案就在这一行

range = 5

您分配内置函数,因此它与执行相同

a = 5
a()

这是不允许的。尝试

range_ = 5
range(start, start+range_)
于 2013-07-18T10:02:19.980 回答
1

range可以作为任何标识符表示一个数字或一个函数(或其他事物),但不能同时表示两者。使用另一个变量名

于 2013-07-18T10:03:07.310 回答