Cho đến phiên bản 3. 10, Python chưa bao giờ có một tính năng thực hiện những gì câu lệnh chuyển đổi thực hiện trong các ngôn ngữ lập trình khác
Vì vậy, nếu bạn muốn thực hiện nhiều câu lệnh điều kiện, bạn sẽ phải sử dụng từ khóa elif
như thế này
age = 120
if age > 90:
print["You are too old to party, granny."]
elif age < 0:
print["You're yet to be born"]
elif age >= 18:
print["You are allowed to party"]
else:
"You're too young to party"
# Output: You are too old to party, granny.
Từ phiên bản 3. 10 trở lên, Python đã triển khai tính năng trường hợp chuyển đổi có tên là “khớp mẫu cấu trúc”. Bạn có thể triển khai tính năng này bằng các từ khóa match
và case
Một số người tranh luận liệu match
và case
có phải là từ khóa trong Python hay không. Điều này là do bạn có thể sử dụng cả hai tên này làm tên biến và tên hàm. Nhưng đó là một câu chuyện khác cho một ngày khác
Bạn có thể tham khảo cả hai từ khóa là "từ khóa mềm" nếu bạn thích
Trong bài viết này, tôi sẽ chỉ cho bạn cách viết câu lệnh switch bằng Python bằng cách sử dụng từ khóa match
và case
Nhưng trước đó, tôi phải chỉ cho bạn cách các lập trình viên Python đã sử dụng để mô phỏng câu lệnh switch ngày xưa
Cách các lập trình viên Python sử dụng để mô phỏng Switch Case
Có nhiều cách Pythonistas mô phỏng các câu lệnh chuyển đổi ngày trước
Sử dụng một hàm và từ khóa elif
là một trong số đó và bạn có thể làm theo cách này
def switch[lang]:
if lang == "JavaScript":
return "You can become a web developer."
elif lang == "PHP":
return "You can become a backend developer."
elif lang == "Python":
return "You can become a Data Scientist"
elif lang == "Solidity":
return "You can become a Blockchain developer."
elif lang == "Java":
return "You can become a mobile app developer"
print[switch["JavaScript"]]
print[switch["PHP"]]
print[switch["Java"]]
"""
Output:
You can become a web developer.
You can become a backend developer.
You can become a mobile app developer
"""
Cách triển khai các câu lệnh chuyển đổi với các từ khóa match
và case
trong Python 3. 10
Để viết câu lệnh switch với tính năng khớp mẫu cấu trúc, bạn có thể sử dụng cú pháp bên dưới
match term:
case pattern-1:
action-1
case pattern-2:
action-2
case pattern-3:
action-3
case _:
action-default
Lưu ý rằng ký hiệu gạch dưới là ký hiệu bạn sử dụng để xác định trường hợp mặc định cho câu lệnh switch trong Python
Một ví dụ về câu lệnh chuyển đổi được viết bằng cú pháp trường hợp khớp được hiển thị bên dưới. Nó là một chương trình in những gì bạn có thể trở thành khi bạn học các ngôn ngữ lập trình khác nhau
lang = input["What's the programming language you want to learn? "]
match lang:
case "JavaScript":
print["You can become a web developer."]
case "Python":
print["You can become a Data Scientist"]
case "PHP":
print["You can become a backend developer"]
case "Solidity":
print["You can become a Blockchain developer"]
case "Java":
print["You can become a mobile app developer"]
case _:
print["The language doesn't matter, what matters is solving problems."]
Đó là một cú pháp rõ ràng hơn nhiều so với nhiều câu lệnh elif
và mô phỏng câu lệnh chuyển đổi bằng một hàm
Bạn có thể nhận thấy rằng tôi đã không thêm từ khóa break vào từng trường hợp, vì nó được thực hiện trong các ngôn ngữ lập trình khác. Đó là lợi thế mà câu lệnh switch gốc của Python có được so với các ngôn ngữ khác. Chức năng của từ khóa break được thực hiện ở hậu trường cho bạn
Phần kết luận
Bài viết này đã hướng dẫn bạn cách viết câu lệnh switch với từ khóa “match” và “case”. Bạn cũng đã biết cách các lập trình viên Python viết nó trước phiên bản 3. 10
Các câu lệnh đối sánh và trường hợp Python đã được triển khai để cung cấp chức năng mà tính năng câu lệnh chuyển đổi trong các ngôn ngữ lập trình khác như JavaScript, PHP, C ++ và các ngôn ngữ khác cung cấp cho chúng ta
Cảm ơn bạn đã đọc
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà phát triển web và nhà văn kỹ thuật tập trung vào các công nghệ giao diện người dùng
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu
Trong chương trình này, chúng tôi yêu cầu người dùng chọn một thao tác. Tùy chọn 1, 2, 3 và 4 hợp lệ. Nếu bất kỳ đầu vào nào khác được cung cấp, Đầu vào không hợp lệ sẽ được hiển thị và vòng lặp tiếp tục cho đến khi một tùy chọn hợp lệ được chọn
Hai số được lấy và phân nhánh
def switch[lang]:
if lang == "JavaScript":
return "You can become a web developer."
elif lang == "PHP":
return "You can become a backend developer."
elif lang == "Python":
return "You can become a Data Scientist"
elif lang == "Solidity":
return "You can become a Blockchain developer."
elif lang == "Java":
return "You can become a mobile app developer"
print[switch["JavaScript"]]
print[switch["PHP"]]
print[switch["Java"]]
"""
Output:
You can become a web developer.
You can become a backend developer.
You can become a mobile app developer
"""
5 được sử dụng để thực hiện một phần cụ thể. Các chức năng do người dùng định nghĩa def switch[lang]:
if lang == "JavaScript":
return "You can become a web developer."
elif lang == "PHP":
return "You can become a backend developer."
elif lang == "Python":
return "You can become a Data Scientist"
elif lang == "Solidity":
return "You can become a Blockchain developer."
elif lang == "Java":
return "You can become a mobile app developer"
print[switch["JavaScript"]]
print[switch["PHP"]]
print[switch["Java"]]
"""
Output:
You can become a web developer.
You can become a backend developer.
You can become a mobile app developer
"""
6, def switch[lang]:
if lang == "JavaScript":
return "You can become a web developer."
elif lang == "PHP":
return "You can become a backend developer."
elif lang == "Python":
return "You can become a Data Scientist"
elif lang == "Solidity":
return "You can become a Blockchain developer."
elif lang == "Java":
return "You can become a mobile app developer"
print[switch["JavaScript"]]
print[switch["PHP"]]
print[switch["Java"]]
"""
Output:
You can become a web developer.
You can become a backend developer.
You can become a mobile app developer
"""
7, def switch[lang]:
if lang == "JavaScript":
return "You can become a web developer."
elif lang == "PHP":
return "You can become a backend developer."
elif lang == "Python":
return "You can become a Data Scientist"
elif lang == "Solidity":
return "You can become a Blockchain developer."
elif lang == "Java":
return "You can become a mobile app developer"
print[switch["JavaScript"]]
print[switch["PHP"]]
print[switch["Java"]]
"""
Output:
You can become a web developer.
You can become a backend developer.
You can become a mobile app developer
"""
8 và def switch[lang]:
if lang == "JavaScript":
return "You can become a web developer."
elif lang == "PHP":
return "You can become a backend developer."
elif lang == "Python":
return "You can become a Data Scientist"
elif lang == "Solidity":
return "You can become a Blockchain developer."
elif lang == "Java":
return "You can become a mobile app developer"
print[switch["JavaScript"]]
print[switch["PHP"]]
print[switch["Java"]]
"""
Output:
You can become a web developer.
You can become a backend developer.
You can become a mobile app developer
"""
9 đánh giá các hoạt động tương ứng và hiển thị đầu ra