Hướng dẫn how do you create a switch case in python? - làm thế nào để bạn tạo một trường hợp chuyển đổi trong python?

Trong hướng dẫn ngắn này, chúng tôi xem xét các phương pháp khác nhau để thực hiện câu lệnh CASE chuyển đổi trong Python. Chúng tôi xem xét trường hợp chuyển đổi được sử dụng cho và các phương pháp khác nhau để sử dụng điều này trong Python.

Mục lục - Trường hợp chuyển đổi Python

  • Trường hợp chuyển đổi được sử dụng để làm gì?
  • Các phương pháp để thực hiện trường hợp chuyển đổi trong Python
    • If-elif-else
    • Bản đồ từ điển
    • Sử dụng các lớp Python
    • Sử dụng các chức năng Python và Lambdas
  • Bớt tư tưởng

Trường hợp chuyển đổi được sử dụng để làm gì?

Câu lệnh ’s chuyển trường hợp giống như câu lệnh‘ nếu khác, nhưng một cách sạch hơn và nhanh hơn so với ‘nếu khác. Nó có mặt trong các ngôn ngữ như C ++ hoặc Java.

Chúng tôi sử dụng trường hợp chuyển đổi cụ thể, khi chúng tôi chỉ cần chạy một khối mã cụ thể và nếu các khối mã khác không thỏa mãn điều kiện, chúng sẽ bị bỏ qua. Nếu khối mã này được kiểm tra thủ công, sự phức tạp của mã sẽ làm cho nó không thuận lợi.

Sử dụng câu lệnh CASE Switch, người ta có thể kiểm tra một biến để trở thành một trong nhiều giá trị có thể. Biến sẽ tuân theo mã cho giá trị cụ thể mà nó cần. Tầm quan trọng của câu lệnh trường hợp chuyển đổi bao gồm-

  1. Dễ dàng gỡ lỗi
  2. dễ đọc và dễ hiểu
  3. Dễ bảo trì
  4. Dễ dàng xác minh các giá trị cần kiểm tra và xử lý

Python không có chức năng câu lệnh chuyển đổi. Nhưng có nhiều cách để thay thế chức năng câu lệnh chuyển đổi và làm cho chương trình dễ dàng và nhanh hơn. Điều này là có thể vì Python cho phép chúng tôi tạo các đoạn mã hoạt động như các câu lệnh CASE chuyển đổi trong bất kỳ ngôn ngữ nào khác.

‘Switch, là một cơ chế điều khiển kiểm tra giá trị được lưu trữ trong một biến. Nó thực thi câu lệnh CASE tương ứng với câu lệnh Switch. Do đó, các câu lệnh Case Case Case kiểm soát một luồng trong chương trình của chúng tôi và đảm bảo rằng mã của chúng tôi không bị lộn xộn bởi nhiều câu lệnh IF.

Trước khi chuyển sang thực hiện câu lệnh CASE chuyển đổi trong Python, hãy để chúng tôi hiểu khái niệm về trường hợp chuyển đổi bằng ví dụ dưới đây của mã C ++.

Cú pháp của trường hợp chuyển đổi trong C ++

switch (expression)  {
    case constant1:
        // code to be executed if 
        // expression is equal to constant1;
        break;

    case constant2:
        // code to be executed if
        // expression is equal to constant2;
        break;
        .
        .
        .
    default:
        // code to be executed if
        // expression doesn't match any constant
})

Ví dụ về trường hợp chuyển đổi trong C ++

#include 
using namespace std;

int main() {
  int day = 4;
  switch (day) {
  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;
  case 4:
    cout << "Thursday";
    break;
  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
    break;
  case 7:
    cout << "Sunday";
    break;
  }
  return 0;
}

Đầu ra

Thursday

Trong trường hợp này, chúng tôi tuyên bố ngày biến là ‘4. Sau đó, chúng tôi chạy các mã khác nhau cho biến nhưng nó chỉ được thực thi cho một điều kiện cụ thể mà chúng tôi khai báo trường hợp 4. Sau đó, nó in giá trị của vụ án, tức là thứ năm.

Nếu bạn cũng quen thuộc với Java, thì đây là một ví dụ về trường hợp chuyển đổi trong Java

Cú pháp của trường hợp chuyển đổi trong Java

switch(expression)
{
   // The switch block has case statements whose values must be of the same type of expression
   case value1 :
   // Code statement to be executed
   break; // break is optional
   case value2 :
   // Code statement to be executed
   break; // break is optional
   // There can be several case statements
   // When none of the cases is true, a default statement is used, and no break is needed in the default case.
   default :
   // Code statement to be executed
})

Ví dụ về trường hợp chuyển đổi trong Java

public class SwitchCaseExample1 {

   public static void main(String args[]){
     int num=2;
     switch(num+2)
     {
        case 1:
    System.out.println("Case1: Value is: "+num);
  case 2:
    System.out.println("Case2: Value is: "+num);
  case 3:
    System.out.println("Case3: Value is: "+num);
        default:
    System.out.println("Default: Value is: "+num);
      }
   }
}

Đầu ra

Default: Value is: 2

Các phương pháp để thực hiện trường hợp chuyển đổi trong Python

Bản đồ từ điển

Sử dụng các lớp Python

Cú pháp của trường hợp chuyển đổi trong C ++

if (condition):
    statement
elif (condition):
    statement
.
.
else:
    statement)

Ví dụ về trường hợp chuyển đổi trong C ++

# if-elif statement example 

City= 'Bangalore'

if city == 'Delhi': 
    print("city is Delhi") 

elif city == "Hyderabad": 
    print("city is Hyderabad") 

elif city== "Bangalore": 
    print("city is Bangalore") 

else: 
    print("city isn't Bangalore, Delhi or Hyderabad")

Đầu ra

Trong trường hợp này, chúng tôi tuyên bố ngày biến là ‘4. Sau đó, chúng tôi chạy các mã khác nhau cho biến nhưng nó chỉ được thực thi cho một điều kiện cụ thể mà chúng tôi khai báo trường hợp 4. Sau đó, nó in giá trị của vụ án, tức là thứ năm.

Nếu bạn cũng quen thuộc với Java, thì đây là một ví dụ về trường hợp chuyển đổi trong Java

Cú pháp của trường hợp chuyển đổi trong Java

Ví dụ về trường hợp chuyển đổi trong C ++

# Implement Python Switch Case Statement using Dictionary

def monday():
    return "monday"
def tuesday():
    return "tuesday"
def wednesday():
    return "wednesday"
def thursday():
    return "thursday"
def friday():
    return "friday"
def saturday():
    return "saturday"
def sunday():
    return "sunday"
def default():
    return "Incorrect day"

switcher = {
    1: monday,
    2: tuesday,
    3: wednesday,
    4: thursday,
    5: friday,
    6: saturday,
    7: sunday
    }

def switch(dayOfWeek):
    return switcher.get(dayOfWeek, default)()

print(switch(3))
print(switch(5))

Đầu ra

Trong trường hợp này, chúng tôi tuyên bố ngày biến là ‘4. Sau đó, chúng tôi chạy các mã khác nhau cho biến nhưng nó chỉ được thực thi cho một điều kiện cụ thể mà chúng tôi khai báo trường hợp 4. Sau đó, nó in giá trị của vụ án, tức là thứ năm.

Sử dụng các lớp Python

Sử dụng các chức năng Python và Lambdas

Ví dụ về trường hợp chuyển đổi trong C ++

Đầu ra

Output

#include 
using namespace std;

int main() {
  int day = 4;
  switch (day) {
  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;
  case 4:
    cout << "Thursday";
    break;
  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
    break;
  case 7:
    cout << "Sunday";
    break;
  }
  return 0;
}
2

Sử dụng các chức năng Python và Lambdas

Bớt tư tưởng

Ví dụ về trường hợp chuyển đổi trong C ++

Đầu ra

Output

#include 
using namespace std;

int main() {
  int day = 4;
  switch (day) {
  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;
  case 4:
    cout << "Thursday";
    break;
  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
    break;
  case 7:
    cout << "Sunday";
    break;
  }
  return 0;
}
4

Bớt tư tưởng

Trường hợp chuyển đổi được sử dụng để làm gì?

Có trường hợp chuyển đổi trong Python không?

Từ phiên bản 3.10 trở lên, Python đã triển khai một tính năng trường hợp chuyển đổi có tên là Mẫu cấu trúc phù hợp với mô hình cấu trúc.Bạn có thể triển khai tính năng này với các từ khóa phù hợp và trường hợp.Python has implemented a switch case feature called “structural pattern matching”. You can implement this feature with the match and case keywords.

Tại sao trường hợp chuyển đổi không có trong Python?

Python không có câu lệnh chuyển đổi/trường hợp vì các đề xuất không đạt yêu cầu.Không ai có thể đề xuất một triển khai hoạt động tốt với cú pháp của Python và phong cách mã hóa được thiết lập.Đã có nhiều đề xuất, một số trong đó bạn có thể thấy trong PEP 3103 - một câu lệnh chuyển đổi/trường hợp.because of Unsatisfactory Proposals . Nobody has been able to suggest an implementation that works well with Python's syntax and established coding style. There have been many proposals, some of which you can see in PEP 3103 -- A Switch/Case Statement .