Chuỗi trường hợp chuyển đổi Python

Trường hợp chuyển đổi là một phương pháp lựa chọn trường hợp trong bất kỳ ngôn ngữ lập trình nào. Trong đó một phần tử được so khớp với một tập hợp có cùng loại phần tử. Nếu tìm thấy khớp thì thực hiện nếu không thì hành động mặc định được thực hiện

Trường hợp chuyển đổi trong tất cả các ngôn ngữ lập trình có cấu trúc giống như

cú pháp

function(element){ case1(match1): action1 break; case2(match2): action2 break; Default(): action }

Vỏ công tắc có bao diêm

Với từ khóa python, trường hợp chuyển đổi trường hợp khớp có thể được triển khai

cú pháp

def function(element): match element: Case1 match1 : action1 Case2 match2 : action2 Case3 match3 : action

Mã số

def fun(element): match element: case "1": print("One") case "2": print("Two") case "3": print("Three") case _: print("No match") # Initialization of variable x x = "2" print("Number is", fun(x))

đầu ra

Chuyển đổi trường hợp với nếu khác

Trường hợp chuyển đổi có thể được thực hiện với sự trợ giúp của thang if-else. Mỗi trường hợp được thực hiện bên trong điều kiện của từng trường hợp if

cú pháp

def function(element): if(condition1) : action1 elseif(condition2): action2 else : action3

Mã số

def fun(ele): if x=='a': print("a") elif x=='b': print("b") elif x=="c": print("c") else: print("NO Match") x='b' print("char is:") fun(x)

đầu ra

Đổi trường hợp với từ điển

Các trường hợp chuyển đổi có thể được triển khai với kiểu dữ liệu từ điển. Tất cả các trường hợp được thực hiện bên trong từ điển. Các trường hợp được khớp với các khóa của từ điển

cú pháp

dictionary = { match1 : action1, match2 : action2, match3 : action3 } def function(element): return dictionary.get(element,”NO Match”)

Mã số

def a(): return "a" def b(): return "b" def c(): return "c" def default(): return "No match" dic = { 'a':a, 'b':b, 'c':c } def fun(ele): return dic.get(ele,default)() x='b' print("Char is:") print(fun(x))

đầu ra

Chuyển trường hợp với python lambda

Chuyển đổi có thể được thực hiện với lambda trong python. Nó chủ yếu được sử dụng trong trường hợp chúng ta phải triển khai chức năng động trong trường hợp chuyển đổi. Hành động của trường hợp thay đổi theo đầu vào đã cho

Mã số

def fun(oper,element): result={ '+':lambda element: element+2, '-':lambda element: element-2, '*':lambda element: element*2, '/':lambda element: element/2 } return result.get(oper,"NO match")(element) x='+' y=3 print("3+2") print(fun(x,y))

đầu ra

Chuyển đổi trường hợp với các lớp học

Trường hợp chuyển đổi có thể được thực hiện với các lớp và hàm getattr

Mã số

________số 8_______

đầu ra

Phần kết luận

Chúng tôi hy vọng bài viết này đã cung cấp cho bạn một ý tưởng rõ ràng về cách sử dụng các từ khóa khớp trường hợp trong python để triển khai các trường hợp chuyển đổi (như chúng ta biết trong các ngôn ngữ lập trình khác). Bốn cách để triển khai các trường hợp chuyển đổi với bậc thang if-else, từ điển, python lambda và các lớp

Trường hợp khớp dễ sử dụng hơn và đơn giản hơn trong Python so với bậc thang if-else. Do đó, chúng tôi sử dụng câu lệnh chuyển đổi python vì nó giúp mã dễ dàng, phát triển nhanh, tăng khả năng đọc và dễ tìm lỗi so với bậc thang if other

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

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'

>>> indirect(1)

đầ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?

Phần 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

Bạn có thể sử dụng trường hợp chuyển đổi với chuỗi không?

Không thể sử dụng chuỗi trong chuyển đổi hoặc trường hợp .

Bạn có thể sử dụng 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 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 với từ khóa đối sánh và trường hợp.

Chủ đề