Hàm range() trong Python

Lệnh range trong Python được dùng khá phổ biến. Nếu muốn biết cách dùng hàm range trong Python, mời bạn đọc bài viết dưới đây.

Hàm range() là một hàm rất phổ biến và được sử dụng rộng rãi trong Python, đặc biệt là khi bạn làm việc với vòng lặp for và đôi khi là vòng lặp while. Hàm range() đáng để biết và thành thạo vì việc này sẽ mở ra nhiều cánh cửa: range() được sử dụng trong mọi thứ, từ kiểm soát luồng của chương trình đến lặp qua các tập dữ liệu mà bạn đang sử dụng để phân tích dữ liệu.

Nếu bạn mới bắt đầu sử dụng Python và muốn tìm hiểu thêm về hàm range(), hãy đọc hướng dẫn bên dưới.

Hàm range() trong Python là gì?

Hàm range() trả về một chuỗi số và không thay đổi, nghĩa là giá trị của nó là cố định. Hàm range() lấy một hoặc nhiều nhất là ba đối số, cụ thể là giá trị bắt đầu và giá trị dừng cùng với kích thước bước.

range() được giới thiệu trong Python3. Trong Python2, một hàm tương tự, xrange(), đã được sử dụng, có hành vi hơi khác một chút. Trong số những thứ khác, xrange() trả về một đối tượng trình tạo và tiêu thụ ít bộ nhớ hơn, trong khi range(), trả về một danh sách hoặc chuỗi số.

Một phần lý do khiến hàm range() hữu ích là vì nó chỉ lưu trữ các giá trị bắt đầu, dừng và bước, do đó, nó tiêu thụ ít bộ nhớ hơn khi so sánh với danh sách hoặc bộ.

Mục đích sử dụng hàm range() trong Python

Trong thuật ngữ đơn giản, hàm range python cho phép người dùng tạo một chuỗi số trong phạm vi được cung cấp. Phụ thuộc vào số lượng đối số người dùng cung cấp cho hàm này, người dùng có thể quyết định vị trí chuỗi số đó sẽ bắt đầu và kết thúc, cũng như sự khác biệt lớn giữa một số và số tiếp theo của nó. Lệnh range trong Python có thể được khởi tạo theo 3 cách:

  • Range (stop) lấy 1 đối số.
  • Range (start, stop) lấy 2 đối số.
  • Range (start, stop, step) lấy 3 đối số.

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ố step, step 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]
[]

Cách lặp với phạm vi trong Python

Lệnh range Python trả về một đối tượng bao gồm một chuỗi số nguyên mà bạn chỉ định.

Cách index với range

Bạn có thể dùng index với hàm range trong Python để lấy giá trị ở vị trí cụ thể. Ví dụ, giả sử bạn dang làm việc với range(2, 10, 2). Nếu đã từng lặp qua phạm vi này và in từng giá trị, kết quả của bạn trông sẽ như sau:

Range trong Python

Đây là cách truy cập giá trị đầu tiên trong phạm vi này:

Index với range trong Python

Mọi giá trị tiếp theo đều có thể truy cập theo cùng cách trên:

Cách dùng range trong Python

Những điều cần ghi nhớ khi dùng hàm range() trong Python

  • Hàm range() chỉ hoạt động với các số nguyên, bao gồm tất cả các số nguyên.
  • Tất cả đối số phải là số nguyên. Người dùng không thể chuyển một chuỗi hoặc số float hay bất kỳ kiểu khác trong đối số start, stop và step của một range().
  • Tất cả 3 đối số có thể là số dương hoặc âm.
  • Giá trị step không phải là 0. Nếu một step bằng 0, Python sẽ phát sinh ngoại lệ ValueError.
  • Range() là một kiểu dữ liệu trong Python.
  • Người dùng có thể truy cập các mục trong một range() theo chỉ mục, giống như người dùng làm với một danh sách.

Xem thêm: Các hàm Python tích hợp sẵn

Thứ Hai, 14/04/2025 15:47
3,418 👨 97.112
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
1 Bình luận
Sắp xếp theo
❖
  • Đánh Chặn
    Đánh Chặn Chào bạn mình cần bạn giúp chút xíu
    Thích Phản hồi 20/07/23
    ❖ Học Python
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng