Cách mà python implement switch case

Tram Ho

1. Giới thiệu

Khi mình tìm hiểu python ta đã thấy một điều quái lạ là vì sao python không định nghĩa các function switch case cho dev? Mình đã băn khoăn điều đó và tìm hiểu vì sao và làm sao để sử dung switch case như các ngôn ngữ khác c++, ruby, ++.

2. Python Switch Case Statement

Python không có cấu trúc switch case đơn giản. Nếu bạn đến từ nền tảng của c++, java, ruby,.. thì bạn sẽ thấy điều này có vẻ hơi kỳ quặc.

.uf4d76ede89bb118c827570bbd9b97451 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#eaeaea; border:0!important; border-left:4px solid #34495E!important; text-decoration:none; } .uf4d76ede89bb118c827570bbd9b97451:active, .uf4d76ede89bb118c827570bbd9b97451:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .uf4d76ede89bb118c827570bbd9b97451 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .uf4d76ede89bb118c827570bbd9b97451 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .uf4d76ede89bb118c827570bbd9b97451 .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .uf4d76ede89bb118c827570bbd9b97451:hover .postTitle { text-decoration: underline!important; }

  10 tài liệu C++ đáng đọc nhất

.uc2cc4e14cd661aac62ec9a51cef60f04 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#eaeaea; border:0!important; border-left:4px solid #34495E!important; text-decoration:none; } .uc2cc4e14cd661aac62ec9a51cef60f04:active, .uc2cc4e14cd661aac62ec9a51cef60f04:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .uc2cc4e14cd661aac62ec9a51cef60f04 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .uc2cc4e14cd661aac62ec9a51cef60f04 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .uc2cc4e14cd661aac62ec9a51cef60f04 .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .uc2cc4e14cd661aac62ec9a51cef60f04:hover .postTitle { text-decoration: underline!important; }

  10 dấu hiệu của code “thúi” trong Java

Nếu như ở trong c++ hoặc java sẽ có cấu trúc kiểu kiểu dạng này:

Nhưng python không như trên. Vậy để có thể được như trên Python cần sử dụng cấu trúc dict để thực hiện khi gặp trường hợp cần thiết.

3. Phương pháp tạo Switch Case Statement trong Python

Ngoài việc dùng các cấu trúc sẵn có if-else-other. Thay vào đó chúng ta sử dụng một dict để ánh xạ đến các case, các chức năng. Ở đây mình tạo một function là week để gọi tới các ngày trong tuần đó. Và nó sẽ được thực hiện như sau:

Và bây giờ chúng ta có thể hiểu function week như một switch case trong Python. Và nó được gọi như sau để thực hiện.

a. Sử dụng Python Functions & Lambdas

Chúng ta cũng có thể sử dụng function và lambdas trong dict.

b. Thông qua Classes

Sử dụng class chó phép chúng ta chọn method ở thời điểm runtime.

Tham khảo: https://data-flair.training/blogs/python-switch-case/

viblo

.u60d0f6c46b4673abb09d52f1c80adce9 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#eaeaea; border:0!important; border-left:4px solid #34495E!important; text-decoration:none; } .u60d0f6c46b4673abb09d52f1c80adce9:active, .u60d0f6c46b4673abb09d52f1c80adce9:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u60d0f6c46b4673abb09d52f1c80adce9 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u60d0f6c46b4673abb09d52f1c80adce9 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .u60d0f6c46b4673abb09d52f1c80adce9 .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .u60d0f6c46b4673abb09d52f1c80adce9:hover .postTitle { text-decoration: underline!important; }

  Top các thư viện Python tốt nhất cho Data Scientist nửa đầu năm 2019

.u2e2b56b68693b8f59c575568b7a21381 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#eaeaea; border:0!important; border-left:4px solid #34495E!important; text-decoration:none; } .u2e2b56b68693b8f59c575568b7a21381:active, .u2e2b56b68693b8f59c575568b7a21381:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u2e2b56b68693b8f59c575568b7a21381 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u2e2b56b68693b8f59c575568b7a21381 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .u2e2b56b68693b8f59c575568b7a21381 .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .u2e2b56b68693b8f59c575568b7a21381:hover .postTitle { text-decoration: underline!important; }

  Những thủ thuật Python bạn nhất định phải biết trên con đường go pro

Chia sẻ bài viết ngay

Nguồn bài viết : viblo .u60d0f6c46b4673abb09d52f1c80adce9 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#eaeaea; border:0!important; border-left:4px solid #34495E!important; text-decoration:none; } .u60d0f6c46b4673abb09d52f1c80adce9:active, .u60d0f6c46b4673abb09d52f1c80adce9:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u60d0f6c46b4673abb09d52f1c80adce9 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u60d0f6c46b4673abb09d52f1c80adce9 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .u60d0f6c46b4673abb09d52f1c80adce9 .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .u60d0f6c46b4673abb09d52f1c80adce9:hover .postTitle { text-decoration: underline!important; } Top các thư viện Python tốt nhất cho Data Scientist nửa đầu năm 2019 .u2e2b56b68693b8f59c575568b7a21381 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:#eaeaea; border:0!important; border-left:4px solid #34495E!important; text-decoration:none; } .u2e2b56b68693b8f59c575568b7a21381:active, .u2e2b56b68693b8f59c575568b7a21381:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u2e2b56b68693b8f59c575568b7a21381 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u2e2b56b68693b8f59c575568b7a21381 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .u2e2b56b68693b8f59c575568b7a21381 .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .u2e2b56b68693b8f59c575568b7a21381:hover .postTitle { text-decoration: underline!important; } Những thủ thuật Python bạn nhất định phải biết trên con đường go pro