range

指定された範囲の連続する整数を作成するオブジェクトを返す関数です。
連続した整数値を直接返すわけではありません。
おもに for 文での繰り返し処理に用いられ, range(開始, 終了, ステップ)の形式で指定します。終了値は含まれず、メモリ効率が良いのが特徴です。

range(3)        # range(0, 3)  start から stop を含まない連続した整数値を作るオブジェクト。 0, 1, 2 を直接持っているわけではない
print(range(3)) # range(0, 3)  ← __str__ がこう表示される

for i in range(3): # 0, 1, 2 が生成される
# リストに変換してから入れる
a = list(range(3))
print(a)
# [0, 1, 2]

# アンパック(* を使う)
a = [*range(3)]
print(a)
# [0, 1, 2]

指定された範囲の連続する整数を生成する関数です。
おもに for 文での繰り返し処理に用いられ, range(開始, 終了, ステップ)の形式で指定します。終了値は含まれず、メモリ効率が良いのが特徴です。

Numpy.arange

numpy.arange は指定した範囲で等間隔の 配列 を作成する関数です。 stop を含みません。また整数に限らないことに注意します。

numpy.arange([start,] stop[, step], dtype=None)
np.arange(5)
# → [0 1 2 3 4]

//

2つの数値を割った商の整数部分を返します。

print( 10 // 3)
# 3