Python không có câu lệnh switch-case
như một số ngôn ngữ lập trình khác (như C, Java hay JavaScript). Tuy nhiên, bạn có thể đạt được chức năng tương tự bằng cách sử dụng một số cấu trúc điều khiển khác như if-elif-else
, từ điển (dictionary), hoặc match-case
(được giới thiệu trong Python 3.10).
Dưới đây là ba cách để mô phỏng cấu trúc switch-case
trong Python.
if-elif-else
Bạn có thể sử dụng cấu trúc if-elif-else
để thay thế cho switch-case
:
def switch_case(value): if value == 1: return "Giá trị là 1" elif value == 2: return "Giá trị là 2" elif value == 3: return "Giá trị là 3" else: return "Giá trị không hợp lệ" # Sử dụng hàm print(switch_case(2)) # Kết quả: Giá trị là 2
Một cách khác để mô phỏng switch-case
là sử dụng từ điển. Từ điển sẽ ánh xạ các giá trị đến các hàm hoặc kết quả:
def case_one(): return "Giá trị là 1" def case_two(): return "Giá trị là 2" def case_three(): return "Giá trị là 3" def switch_case(value): switcher = { 1: case_one, 2: case_two, 3: case_three } # Sử dụng .get() để tránh lỗi KeyError nếu giá trị không tồn tại return switcher.get(value, lambda: "Giá trị không hợp lệ")() # Sử dụng hàm print(switch_case(3)) # Kết quả: Giá trị là 3
match-case
(Python 3.10 trở lên)Python 3.10 đã giới thiệu cú pháp match-case
, tương tự như switch-case
trong các ngôn ngữ khác:
def switch_case(value): match value: case 1: return "Giá trị là 1" case 2: return "Giá trị là 2" case 3: return "Giá trị là 3" case _: return "Giá trị không hợp lệ" # Sử dụng hàm print(switch_case(1)) # Kết quả: Giá trị là 1
Mặc dù Python không có câu lệnh switch-case
chính thức, bạn có thể sử dụng if-elif-else
, từ điển, hoặc cú pháp match-case
để đạt được chức năng tương tự. Sự linh hoạt này cho phép bạn xử lý các điều kiện và trường hợp một cách hiệu quả trong mã của mình.