Hàm range() trong Python

Hàm range() được tích hợp sẵn trong Python được sử dụng để tạo một chuỗi các số bắt đầu từ 0 theo mặc định, tăng thêm 1 (theo mặc định) và kết thúc tại một số được chỉ định. Hiểu đơn giản, hàm nhận một số nguyên và trả về một range object (kiểu iterable).

Ở bài viết này, Quantrimang.com sẽ cùng bạn tìm hiểu về range(), cú pháp, tham số và các ví dụ cụ thể. Mời bạn đọc theo dõi.

Cú pháp hàm range() trong Python

Hàm range() trong Python có hai dạng cú pháp:

range(stop)
range(start, stop[, step])

Các tham số của hàm range()

Hàm range() có 3 tham số:

  • start: số nguyên bắt đầu, chuỗi sẽ bắt đầu với tham số này. Giá trị mặc định là 0.
  • stop: số nguyên kết thúc, chuỗi sẽ kết thúc với tham số này.
  • step: số nguyên xác định khoảng cách giữa các số bên trong chuỗi. Giá trị mặc định là 1.

Giá trị trả về từ range()

1. Với kiểu cú pháp dạng range(stop):

  • Trả về một chuỗi bắt đầu từ 0 tới stop -1.
  • Trả về một chuỗi rỗng nếu stop có giá trị là 0 hoặc nhỏ hơn 0.

2. Với kiểu cú pháp dạng range(start, stop[, step]):

  • Nếu không có tham số stepstep mặc định sẽ là 1: giá trị trả về là một chuỗi bắt đầu từ start và kết thúc ở stop -1
  • Nếu step bằng 0, ngoại lệ ValueError exception sẽ được sinh ra.
  • Nếu step khác 0, kiểm tra xem các tham số có đáp ứng được ràng buộc hay không.
    • Nếu có, trả về chuỗi theo công thức, bắt đầu từ start, các số cách nhau bằng step, số cuối của chuỗi sẽ < stop.
    • Nếu không thì trả về một chuỗi rỗng.

Ví dụ 1: range() hoạt động như thế nào?

print(list(range(0)))

# sử dụng range(stop)
print(list(range(10)))

# sử dụng range(start, stop)
print(list(range(1, 10)))

Khi bạn chạy chương trình, output trả về sẽ là:

[]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Ví dụ 2: Tạo danh sách số chẵn giữa tham số truyền vào bằng cách sử dụng range()

start = 2
stop = 14
step = 2

print(list(range(start, stop, step)))

Khi bạn chạy chương trình, output trả về sẽ là:

[2, 4, 6, 8, 10, 12]

Ví dụ 3: range() hoạt động với step là số âm

start = 2
stop = -14
step = -2

print(list(range(start, stop, step)))

print(list(range(start, 14, step)))

Giá trị trả về:

[2, 0, -2, -4, -6, -8, -10, -12]
[]