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 に答える