1
に私は、Python 2.7での範囲()関数のような構文を持つことが可能であるか疑問に思って:注文()の引数は、Python
range(start, stop[, step])
Pythonで関数を作成するのようにオプションの引数が必要です
function(a, b, c=1)
が(何らかの理由で、私はそう宣言されている範囲()内のファイルを...見つけることができません)しかし、それだけで入力することが可能である:パラメータのエントリの最後に、のように
range(10)
のような単一(停止)整数
範囲は次に、以下のようないくつかの構造を使用しますか?またはこれを行うよりエレガントな方法はありますか?
def TestRange(start, stop = None, stepSize = 1):
if stop == None:
d = 0
TrackTest = []
while d < start:
TrackTest += [d]
d += stepSize
return TrackTest
else:
d = start
TrackTest = []
while d < stop:
TrackTest += [d]
d += stepSize
return TrackTest
以下のテストケースを使用すると、範囲関数を使用した場合と同様の結果になります。
print TestRange(6)
print TestRange(2, 6)
print TestRange(2, 6, 2)
Python 2または3? Python 3では 'range'はリストを返しません、' range'オブジェクトを返します。ジェネレータは、Python 3バージョン(またはPython 2 'xrange') – cdarke
に適しています。これを試した結果、Pythonで関数を作成するには、オプションの引数が' function (a、b、c = 1) 'である。 '関数(a = 1、b、c = 1)'は許されません。 –