Công tắc tương đương trong python là gì?

Trong hướng dẫn Python cuối cùng của chúng tôi, chúng tôi đã nghiên cứu Xử lý XML trong Python 3. Hôm nay, chúng ta sẽ nghiên cứu Cách triển khai Python Switch Case Statement.  

Không giống như các ngôn ngữ khác như Ngôn ngữ lập trình Java và C++, Python không có cấu trúc trường hợp chuyển đổi. Cùng với điều này, chúng ta sẽ xem cách khai thác lỗ hổng cho câu lệnh trường hợp chuyển đổi Python

Vì vậy, hãy thảo luận về các cách triển khai khác nhau cho Tuyên bố trường hợp chuyển đổi Python

Công tắc tương đương trong python là gì?

2 cách đơn giản để triển khai câu lệnh chuyển đổi trường hợp Python

Tuyên bố trường hợp chuyển đổi Python là gì?

Python không có cấu trúc trường hợp chuyển đổi đơn giản. Xuất phát từ nền tảng Java hoặc C++, bạn có thể thấy điều này hơi kỳ quặc

Trong C ++ hoặc Java, chúng tôi có một cái gì đó như thế này

string week(int i){
       switch(i){
               case 0:
                       return “Sunday”
                       break;
               case 1:
                       return “Monday”
                       break;
               case 2:
                       return “Tuesday”
                       break;
               case 3:
                       return “Wednesday”
                       break;
               case 4:
                       return “Thursday”
                       break;
               case 5:
                       return “Friday”
                       break;
               case 6:
                       return “Saturday”
                       break;
               default:
                       return “Invalid day of week”
       }
  }

Nhưng Python không có cái này

Vì vậy, để giải quyết vấn đề này, chúng tôi sử dụng cấu trúc từ điển tích hợp sẵn của Python để triển khai các trường hợp và quyết định phải làm gì khi gặp trường hợp đó

Chúng tôi cũng có thể chỉ định phải làm gì khi không đáp ứng

Giải pháp cho Tuyên bố trường hợp chuyển đổi Python

Một lối thoát là triển khai thang if-elif-else. Thay vào đó, chúng ta có thể sử dụng từ điển để ánh xạ các trường hợp theo chức năng của chúng

Ở đây, chúng ta định nghĩa một hàm week() để cho chúng ta biết một ngày nhất định trong tuần là ngày nào. Trình chuyển đổi là một từ điển thực hiện ánh xạ này

>>> def week(i):
        switcher={
                0:'Sunday',
                1:'Monday',
                2:'Tuesday',
                3:'Wednesday',
                4:'Thursday',
                5:'Friday',
                6:'Saturday'
             }
         return switcher.get(i,"Invalid day of week")

Bây giờ, chúng tôi thực hiện các cuộc gọi đến tuần() với các giá trị khác nhau

>>> week(2)

đầu ra

'Thứ ba'

>>> week(0)

đầu ra

'Chủ nhật'

>>> week(7)

đầu ra

'Ngày không hợp lệ trong tuần'

>>> week(4.5)

đầu ra

'Ngày không hợp lệ trong tuần'

Như bạn có thể thấy, đối với các giá trị khác với giá trị mà chúng tôi đề cập trong trình chuyển đổi, nó sẽ in ra “Ngày trong tuần không hợp lệ”. Điều này là do chúng tôi yêu cầu nó làm như vậy bằng cách sử dụng phương thức get() của từ điển

a. Sử dụng Hàm Python và Lambdas

Chúng ta cũng có thể sử dụng các hàm và lambdas trong từ điển

>>> def zero():
        return 'zero'
>>> def one():
        return 'one'
>>> def indirect(i):
        switcher={
                0:zero,
                1:one,
                2:lambda:'two'
                }
        func=switcher.get(i,lambda :'Invalid')
        return func()
>>> indirect(4)

đầu ra

'Không hợp lệ'

>>> indirect(2)

đầu ra

'hai'

________số 8

đầu ra

'một'

>>> indirect(0.5)

đầu ra

'Không hợp lệ'

b. Với các lớp Python

Sử dụng khái niệm này với các lớp cho phép chúng tôi chọn một phương thức trong thời gian chạy

>>> def week(i):
        switcher={
                0:'Sunday',
                1:'Monday',
                2:'Tuesday',
                3:'Wednesday',
                4:'Thursday',
                5:'Friday',
                6:'Saturday'
             }
         return switcher.get(i,"Invalid day of week")
0

đầu ra

'hai'

>>> def week(i):
        switcher={
                0:'Sunday',
                1:'Monday',
                2:'Tuesday',
                3:'Wednesday',
                4:'Thursday',
                5:'Friday',
                6:'Saturday'
             }
         return switcher.get(i,"Invalid day of week")
1

đầu ra

'Không hợp lệ'

>>> def week(i):
        switcher={
                0:'Sunday',
                1:'Monday',
                2:'Tuesday',
                3:'Wednesday',
                4:'Thursday',
                5:'Friday',
                6:'Saturday'
             }
         return switcher.get(i,"Invalid day of week")
2

đầu ra

'một'

Vì vậy, đây là tất cả về Tuyên bố trường hợp chuyển đổi Python. Hy vọng bạn thích hướng dẫn của chúng tôi

Câu hỏi phỏng vấn Python về Tuyên bố trường hợp chuyển đổi

  1. Python có câu lệnh trường hợp chuyển đổi không?
  2. Làm cách nào để triển khai trường hợp chuyển đổi trong Python?
  3. Trường hợp trong câu lệnh switch trong Python là gì?
  4. Giải thích câu lệnh trường hợp chuyển đổi Python với ví dụ
  5. Bạn có thể có bao nhiêu trường hợp trong câu lệnh switch trong Python?

Sự kết luận

Do đó, chúng tôi kết luận rằng Python không có cấu trúc trường hợp chuyển đổi tích hợp, thay vào đó chúng tôi có thể sử dụng từ điển

Hơn nữa, nếu bạn có bất kỳ câu hỏi nào liên quan đến Báo cáo trường hợp chuyển đổi Python, vui lòng hỏi trong phần nhận xét

Có chức năng chuyển đổi trong Python không?

Không giống như C++, Java, Ruby và các ngôn ngữ lập trình khác, Python không cung cấp câu lệnh chuyển đổi trường hợp , nhưng nó cung cấp một vài cách giải quyết . Ví dụ: Python cho phép bạn tạo các đoạn mã hoạt động giống như các câu lệnh trường hợp Python Switch trong các ngôn ngữ lập trình khác.

Trận đấu Python có giống như chuyển đổi không?

Câu lệnh switch có chức năng tương tự như câu lệnh if-else, nhưng chúng yêu cầu ít mã hơn khi xác định trường hợp . Câu lệnh khớp trường hợp trong Python mạnh hơn và cho phép khớp mẫu phức tạp hơn. Hãy bắt đầu bằng cách xem một ví dụ cơ bản để chứng minh cú pháp. >>> lệnh = 'Xin chào, Thế giới.

Tại sao Python không có công tắc?

Python không có câu lệnh switch/case vì Đề 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à kiểu mã hóa đã được thiết lập. Đã có nhiều đề xuất, bạn có thể xem một số đề xuất trong PEP 3103 -- A Switch/Case Statement.