レンジ( ''range'' )は、等差数列を表すシーケンスです{{Cite web
|url=https://docs.python.org/ja/3/library/stdtypes.html
|title=3.10.1 Documentation » The Python Standard Library » Built-in Types
|date=2021/12/16
|accessdate=2021/12/16
。
レンジにリテラルはありません。
コンストラクターである組込み関数 range()を使って生成します。
[https://paiza.io/projects/as-HF8DaVGYcrf5BZY-bXw?language=python3 コンストラクター]:
print(f"""\
{range(5)=}
{range(2,20)=}
{range(2,20,3)=}
{list(range(5))=}
{list(range(2,20))=}
{list(range(2,20,3))=}
""")
実行結果:
range(5)=range(0, 5)
range(2,20)=range(2, 20)
range(2,20,3)=range(2, 20, 3)
list(range(5))=[0, 1, 2, 3, 4]
list(range(2,20))=[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
list(range(2,20,3))=[2, 5, 8, 11, 14, 17]
[https://paiza.io/projects/i5sIFtfxhFQ1pxqvpPqHpg?language=python3 レンジと演算子]:
rng = range(2,50,3)
print(f'''\
{rng=} {list(rng)=}
{rng.start=} {rng.stop=} {rng.step=} 
{rng[1]=}
{rng[-1]=}
{rng[2:10:2]=} {list(rng[2:10:2])=}
{rng[2:10]=} {list(rng[2:10])=}
{rng[:10]=} {list(rng[:10])=}
{rng[2:]=} {list(rng[2:])=}
{rng == range(2,24,3)=}
{rng != range(2,24,3)=}
{7 in rng=}
''')
実行結果:
rng=range(2, 50, 3) list(rng)=[2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47]
rng.start=2 rng.stop=50 rng.step=3 
rng[1]=5
rng[-1]=47
rng[2:10:2]=range(8, 32, 6) list(rng[2:10:2])=[8, 14, 20, 26]
rng[2:10]=range(8, 32, 3) list(rng[2:10])=[8, 11, 14, 17, 20, 23, 26, 29]
rng[:10]=range(2, 32, 3) list(rng[:10])=[2, 5, 8, 11, 14, 17, 20, 23, 26, 29]
rng[2:]=range(8, 50, 3) list(rng[2:])=[8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47]
rng == range(2,24,3)=False
rng != range(2,24,3)=True
7 in rng=False
レンジの要素は、インデックス演算子で参照できます。
レンジ内の要素の順位はタプルやレンジと同じく、0番から始まります。
を表します。
レンジにスライス記法を適用すると、レンジが返ります。
レンジ同士は、比較ができます。
整数がレンジに含まれるかは、in演算子で検査できます。
レンジは、for文の対象となるシーケンスとして使えます（これが一番一般的な使用例でしょう）。
コード例:
for i in range(5):
    print(i)
実行結果:
0
1
2
3
4
[https://paiza.io/projects/Pq-mUuXFAWaDcq4XwrHmkw?language=python3 レンジのフィールド一覧]:
obj = range(5)
for i in dir(obj):
    print(i, eval(f"type({obj}.{i})"))
実行結果:
__bool__ 
__class__ 
__contains__ 
__delattr__ 
__dir__ 
__doc__ 
__eq__ 
__format__ 
__ge__ 
__getattribute__ 
__getitem__ 
__gt__ 
__hash__ 
__init__ 
__init_subclass__ 
__iter__ 
__le__ 
__len__ 
__lt__ 
__ne__ 
__new__ 
__reduce__ 
__reduce_ex__ 
__repr__ 
__reversed__ 
__setattr__ 
__sizeof__ 
__str__ 
__subclasshook__ 
count 
index 
start 
step 
stop