Luồng điều khiển trong chương trình Python được điều chỉnh bởi nhiều loại conditional statements , loops , và function . Theo mặc định, các lệnh trong một chương trình máy tính được thực hiện theo cách tuần tự, từ trên xuống dưới, hoặc từ đầu đến cuối. Tuy nhiên, các chương trình thực hiện tuần tự như vậy chỉ có thể thực hiện các tác vụ đơn giản. Chúng ta muốn chương trình có khả năng ra quyết định, để thực hiện các bước khác nhau tùy thuộc vào các điều kiện khác nhau.
Hầu hết các ngôn ngữ lập trình, bao gồm Python , cung cấp chức năng để điều khiển luồng thực thi của các lệnh. Thông thường, có hai loại câu lệnh điều khiển luồng trong bất kỳ ngôn ngữ lập trình nào và Python cũng hỗ trợ chúng.
Các câu lệnh ra quyết định được sử dụng trong các chương trình Python để giúp chúng có khả năng quyết định nhóm lệnh thay thế nào sẽ được thực thi, tùy thuộc vào giá trị của một biểu thức Boolean nhất định.
Sơ đồ dưới đây minh họa cách mà các câu lệnh quyết định hoạt động -
Python cung cấp if..elif..else câu lệnh điều khiển như một phần của việc ra quyết định. Nó bao gồm ba khối khác nhau, đó là khối if , khối elif (viết tắt của else if) và khối else .
Dưới đây là một ví dụ đơn giản sử dụng cấu trúc if..elif..else. Bạn có thể thử chạy chương trình này với các điểm khác nhau và xác minh kết quả.
marks = 80 result = "" if marks < 30: result = "Failed" elif marks > 75: result = "Passed with distinction" else: result = "Passed" print(result)
Điều này sẽ tạo ra kết quả sau:
Passed with distinction
Python hỗ trợ Match-Case statement, điều này cũng có thể được sử dụng như một phần của việc ra quyết định. Nếu một mẫu khớp với biểu thức, mã dưới trường hợp đó sẽ được thực thi.
Dưới đây là một ví dụ đơn giản sử dụng câu lệnh match.
def checkVowel(n): match n: case 'a': return "Vowel alphabet" case 'e': return "Vowel alphabet" case 'i': return "Vowel alphabet" case 'o': return "Vowel alphabet" case 'u': return "Vowel alphabet" case _: return "Simple alphabet" print (checkVowel('a')) print (checkVowel('m')) print (checkVowel('o'))
Điều này sẽ tạo ra kết quả sau:
Vowel alphabet Simple alphabet Vowel alphabet
Hầu hết các quy trình yêu cầu một nhóm lệnh được thực thi lặp đi lặp lại. Trong thuật ngữ lập trình, điều này được gọi là một loop . Thay vì chuyển sang bước tiếp theo, nếu luồng được chuyển hướng về bất kỳ bước nào trước đó, điều đó cấu thành một vòng lặp.
Sơ đồ dưới đây minh họa cách hoạt động của vòng lặp −
Nếu điều khiển quay lại một cách không điều kiện, nó sẽ tạo thành một vòng lặp vô hạn, điều này không mong muốn vì phần còn lại của mã sẽ không bao giờ được thực thi.
Trong một vòng lặp điều kiện, việc lặp đi lặp lại một khối lệnh sẽ tiếp tục cho đến khi một điều kiện nhất định được thỏa mãn. Python hỗ trợ một số vòng lặp như vòng lặp for, vòng lặp while mà chúng ta sẽ nghiên cứu trong các chương tiếp theo.
for loop lặp qua các mục của bất kỳ chuỗi nào, chẳng hạn như danh sách, tuple hoặc chuỗi.
Dưới đây là một ví dụ sử dụng vòng lặp For để lặp qua một mảng trong Python:
words = ["one", "two", "three"] for x in words: print(x)
Điều này sẽ tạo ra kết quả sau:
one two three
Câu lệnh while loop sẽ thực hiện một câu lệnh mục tiêu lặp đi lặp lại miễn là biểu thức boolean đã cho là đúng.
Dưới đây là một ví dụ sử dụng vòng lặp While để in ra 5 số đầu tiên trong Python:
i = 1 while i < 6: print(i) i += 1
Điều này sẽ tạo ra kết quả sau:
1 2 3 4 5
Các câu lệnh nhảy được sử dụng để nhảy đến một câu lệnh cụ thể bằng cách phá vỡ dòng chảy hiện tại của chương trình. Trong Python, có hai câu lệnh nhảy break và continue .
Nó kết thúc vòng lặp hiện tại và tiếp tục thực thi tại câu lệnh tiếp theo.
Ví dụ dưới đây minh họa việc sử dụng câu lệnh break −
x = 0 while x < 10: print("x:", x) if x == 5: print("Breaking...") break x += 1 print("End")
Điều này sẽ tạo ra kết quả sau:
x: 0 x: 1 x: 2 x: 3 x: 4 x: 5 Breaking... End
Nó bỏ qua việc thực thi khối chương trình và trả lại điều khiển về đầu vòng lặp hiện tại để bắt đầu lần lặp tiếp theo.
Ví dụ sau đây minh họa cách sử dụng câu lệnh continue −
for letter in "Python": # continue when letter is 'h' if letter == "h": continue print("Current Letter :", letter)
Điều này sẽ tạo ra kết quả sau:
Current Letter : P Current Letter : y Current Letter : t Current Letter : o Current Letter : n