Câu lệnh continue trong Python là một trong những câu lệnh vòng lặp điều khiển luồng của vòng lặp. Cụ thể hơn, câu lệnh continue bỏ qua “phần còn lại của vòng lặp” và chuyển sang phần đầu của lần lặp tiếp theo
Không giống như lệnh break, lệnh continue không thoát khỏi vòng lặp
Ví dụ: để in các số lẻ, hãy sử dụng tiếp tục bỏ qua in các số chẵn
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print[n]
Vòng lặp này bỏ qua chức năng in khi gặp số chẵn [số chia hết cho 2]
1 3 5 7 9
Dưới đây là minh họa về cách hoạt động của đoạn mã trên khi n chẵn
Tiếp tục tuyên bố chi tiết hơn
Trong Python, câu lệnh continue nhảy ra khỏi lần lặp hiện tại của một vòng lặp để bắt đầu lần lặp tiếp theo
Trường hợp sử dụng điển hình cho câu lệnh continue là kiểm tra xem một điều kiện có được đáp ứng hay không và bỏ qua phần còn lại của vòng lặp dựa trên điều kiện đó
Sử dụng câu lệnh continue đôi khi có thể là một phần quan trọng để làm cho thuật toán hoạt động. Đôi khi nó chỉ tiết kiệm tài nguyên vì nó ngăn chạy mã thừa
Trong Python, câu lệnh continue có thể được sử dụng với cả vòng lặp for và while
while condition: if other_condition: continue for elem in iterable: if condition: continue
Chẳng hạn, bạn có thể sử dụng câu lệnh continue để bỏ qua việc in các số chẵn
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print[n]
đầu ra
1 3 5 7 9
Tiếp tục so với If-Else trong Python
Câu lệnh continue hoạt động giống như câu lệnh if-else. Sử dụng câu lệnh continue về cơ bản giống như đặt mã vào khối if-else
Trong các trường hợp đơn giản, tốt hơn hết là sử dụng câu lệnh if-else thay vì câu lệnh continueChẳng hạn, hãy lặp qua các số từ 1 đến 10 và in loại số lẻ của các số
Đây là cách tiếp cận tiếp tục
for num in range[1, 10]: if num % 2 == 0: print["Even number: ", num] continue print["Odd number: ", num]
đầu ra
Odd number: 1 Even number: 2 Odd number: 3 Even number: 4 Odd number: 5 Even number: 6 Odd number: 7 Even number: 8 Odd number: 9
Sau đó, hãy chuyển đổi cách tiếp cận này thành câu lệnh if-else
for num in range[1, 10]: if num % 2 == 0: print["Even number: ", num] else: print["Odd number: ", num]
đầu ra
Odd number: 1 Even number: 2 Odd number: 3 Even number: 4 Odd number: 5 Even number: 6 Odd number: 7 Even number: 8 Odd number: 9
Như bạn có thể thấy, cách tiếp cận thứ hai cung cấp một cách rõ ràng hơn để thể hiện ý định của bạn. Bằng cách nhìn vào đoạn mã này, ngay lập tức rõ ràng nó làm gì. Tuy nhiên, nếu bạn nhìn vào cách tiếp cận cũ với các câu lệnh tiếp tục, bạn cần phải vò đầu bứt tai một chút trước khi xem chuyện gì đang xảy ra
Đây là một ví dụ tuyệt vời khi bạn có thể sử dụng câu lệnh if-else thay vì sử dụng câu lệnh continue
Ngoài ra, nếu bạn xem ví dụ trước về việc in các số lẻ từ một dãy
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print[n]
Bạn thấy việc sử dụng if-check ở đây cũng tốt hơn, thay vì trộn nó với câu lệnh continue
1 3 5 7 90
Nhưng bây giờ bạn có thể tự hỏi tại sao bạn nên sử dụng tiếp tục nếu nó chỉ làm cho mã khó đọc hơn. Hãy xem một số trường hợp sử dụng tốt cho câu lệnh continue
Khi sử dụng Tiếp tục Python
Như đã nêu trước đó, bạn có thể thay thế câu lệnh continue bằng câu lệnh if-else
Ví dụ, đoạn mã này
1 3 5 7 91
Làm tương tự như cái này
1 3 5 7 92
Trong các trường hợp đơn giản, sử dụng if-else thay vì tiếp tục là một ý tưởng hay. Nhưng chắc chắn cũng có một số trường hợp sử dụng cho câu lệnh continue
Ví dụ
- Bạn có thể tránh các câu lệnh if-else lồng nhau bằng cách sử dụng continue
- Continue có thể giúp bạn xử lý ngoại lệ trong vòng lặp for
Hãy xem ví dụ về cả hai
1. Tránh các câu lệnh If-Else lồng nhau trong một vòng lặp với Continue trong Python
Hãy tưởng tượng bạn có nhiều điều kiện mà bạn muốn bỏ qua vòng lặp. Nếu bạn chỉ dựa vào các câu lệnh if-else, mã của bạn sẽ hỗn loạn theo hình kim tự tháp
1 3 5 7 93
Đây là cơn ác mộng của mọi nhà phát triển. Một mớ hỗn độn if-else lồng nhau không thể quản lý
Tuy nhiên, bạn có thể làm cho đoạn mã trên sạch hơn và đẹp hơn bằng cách sử dụng câu lệnh continue
1 3 5 7 94
Bây giờ, thay vì có cấu trúc lồng nhau của các câu lệnh if-else, bạn có cấu trúc phẳng chỉ gồm các câu lệnh if. Điều này có nghĩa là mã dễ hiểu hơn và dễ bảo trì hơn—nhờ câu lệnh continue
2. Tiếp tục trong phần Xử lý lỗi—Thử, Ngoại trừ, Tiếp tục
Nếu bạn cần xử lý các ngoại lệ trong một vòng lặp, hãy sử dụng câu lệnh continue để bỏ qua “phần còn lại của vòng lặp”
Ví dụ: hãy xem đoạn mã xử lý lỗi trong vòng lặp này
1 3 5 7 95
Bây giờ vòng lặp thực thi chức năng in cuối cùng bất kể có ném ngoại lệ hay không
1 3 5 7 96
Để tránh điều này, hãy sử dụng câu lệnh continue trong khối except. Điều này bỏ qua phần còn lại của vòng lặp khi một ngoại lệ xảy ra
1 3 5 7 97
Bây giờ vòng lặp bỏ qua chức năng in cuối cùng
1 3 5 7 98
Điều này hữu ích nếu chức năng in lần cuối là thứ bạn không nên vô tình chạy khi xảy ra lỗi
Phần kết luận
Hôm nay bạn đã học cách sử dụng câu lệnh continue trong Python
Tóm lại, câu lệnh continue trong Python bỏ qua “phần còn lại của vòng lặp” và bắt đầu một phép lặp. Điều này hữu ích nếu phần còn lại của vòng lặp bao gồm mã không cần thiết
Ví dụ: bạn có thể bỏ qua việc in các số chẵn và chỉ in các số lẻ bằng cách
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print[n]
Ở đây vòng lặp bỏ qua chức năng in cuối cùng nếu gặp số chẵn
Tuy nhiên, câu lệnh if-else thường tốt hơn là sử dụng câu lệnh if với câu lệnh continue. Tuy nhiên, với nhiều điều kiện, câu lệnh continue sẽ ngăn chặn các khối if-else lồng nhau không thể quản lý được