range 是一個類,不是函數
表示不可變的數字序列,通常用于在 for 循環中循環指定的次數
表示區間 [0, stop) 内的整數序列
該區間從 0 開始、到 stop 結束,不包含 stop
表示區間 [start, stop) 内的整數序列
該區間從 start 開始、到 end 結束,不包含 end
step 是步進,預設是 1
如果 step 為正值,确定 range 某個值的公式為 <code>r[i] = start + step*i</code> 其中 <code>i >= 0</code> 且 <code>r[i] < stop</code>
如果 step 為負值,确定 range 某個值的公式仍然為 <code>r[i] = start + step*i</code>,但限制條件改為 <code>i >= 0</code> 且 <code>r[i] > stop</code>
都是 range 執行個體對象
相比正常的 list、tuple,range 的優勢在于range 對象總是占用固定數量的較小記憶體,無論其所表示的範圍有多大
range 對象實作了 collections.abc.Sequence ,提供了包括 index、索引、切片等特性
但是切片僅支援索引取值 [ ],不支援 [ : ] 來取值
使用 <code>==</code> 和 <code>!=</code> 檢測 range 對象是否相等是将其作為序列來比較