Nhưng nó không phải là câu lệnh switch chung hoặc garden của bạn như bạn thấy trong C hoặc Java — tất nhiên là không, đây là Python. Trăn 3. 10 triển khai So khớp mẫu cấu trúc có thể đơn giản như câu lệnh chuyển đổi nhưng cũng có thể hơn thế nữa Show Tôi đã trình bày kiến thức cơ bản về So khớp mẫu cấu trúc tại đây — bài viết này đi sâu hơn một chút vào chủ đề này, xem xét việc nắm bắt các mẫu phù hợp (lấy giá trị của một mẫu phù hợp có thể có nhiều hơn một giá trị) và thêm điều kiện cho các mẫu Nhưng, trước tiên, hãy xem lại những điều cơ bản. Các mẫu đối sánh cấu trúc được triển khai với từ khóa Đoạn mã dưới đây chạy một vòng lặp đưa ra các giá trị 1,2,3,4 và 5 cho biến He's gone to meet his maker. 0. Chúng tôi xác định bốn trường hợp, trường hợp đầu tiên khớp với các số 1 hoặc 4 (ký tự He's gone to meet his maker. 1 là toán tử OR); . Các trường hợp được xử lý theo thứ tự để ký tự đại diện chỉ khớp nếu bất kỳ trường hợp nào trước đó không khớp. Ngoài ra, không giống như C, không có câu lệnh 'break' — sau khi khối mã cho mỗi trường hợp được thực thi, điều khiển được chuyển đến cuối của match for quote in [1,2,3,4,5]: Đây là kết quả của việc chạy mã He's gone to meet his maker. Chụp các mẫu phù hợpĐôi khi, khi khớp một mẫu OR, chúng tôi muốn có thể sử dụng giá trị khớp Hãy tưởng tượng một số mọt sách, với sự quen thuộc tình cờ với Python, đã quyết định trình bày một tập lệnh Monty Python như thế này script = [["The Dead Parrot Sketch"], Đó là một danh sách các danh sách. Cái đầu tiên chứa một chuỗi đơn - tiêu đề. Thứ hai, dàn diễn viên là chuỗi “Cast” theo sau là một số chuỗi khác đại diện cho nhân vật kịch tính. Phần còn lại là danh sách hai chuỗi, diễn viên và dòng mà người đó sẽ nói Không có giải thưởng cho thiết kế dữ liệu, ở đây Làm thế nào để chúng tôi giải thích cấu trúc này? . Dàn diễn viên được so khớp bằng cách chỉ định một danh sách bắt đầu bằng chuỗi “Truyền” và theo sau là một số phần tử khác ( He's gone to meet his maker. 3 thực hiện điều này). Các dòng của tập lệnh được khớp với trường hợp cuối cùng. nó khớp với hai yếu tố, yếu tố đầu tiên là “Khách hàng” hoặc “Chủ sở hữu” và yếu tố thứ hai là He's gone to meet his maker. 4 sẽ nắm bắt được dòng kịch bản. Vấn đề là chúng ta muốn sử dụng giá trị của “Customer” hoặc “Owner” trong đoạn mã sau nên chúng ta ràng buộc nó với biến He's gone to meet his maker. 5 bằng cách sử dụng từ khóa He's gone to meet his maker. 6for line in script: Chạy mã, chúng tôi nhận được điều này The Dead Parrot Sketch Trường hợp có điều kiệnĐây là trường hợp chúng tôi muốn tạo đối sánh với điều kiện đáp ứng một số tiêu chí nhất định. Nhìn vào mã dưới đây. chúng tôi có một danh sách các nhân vật trong Harry Potter và một danh sách các nhân vật trong Hitchhiker's Guide to the Galaxy Chúng tôi yêu cầu nhập tên rồi thử khớp tên đó harrypotter = ["Harry","Hermione","Ron"]hhgtg = ["Arthur","Ford","Zaphod","Trillian"]name = input("Enter a name: ")match name: Và sử dụng việc xây dựng case <match> if <match> in <list> chúng tôi chỉ khớp một trường hợp nếu nó đáp ứng điều kiện là chuỗi chúng tôi muốn khớp có trong danh sách. Mã này khá dễ hiểu, tôi nghĩ vậy, vì vậy đây là kết quả của một vài lần chạy chương trình Enter a name: Harry Tất nhiên, trường hợp cuối cùng là thẻ hoang dã sẽ khớp với bất kỳ thứ gì chưa được xử lý trước đó Để tìm hiểu thêm, hãy truy cập Python. org và đọc PEP 636, đây là hướng dẫn về So khớp mẫu cấu trúc Và để tìm hiểu thêm về các tính năng mới trong Python 3. 10, bạn có thể xem các bài báo khác trên Phương tiện, chẳng hạn như Các tính năng mới của James Briggs trong Python 3. 10 hoặc hoặc Tất cả các tính năng và thay đổi quan trọng của Martin Heinz trong Python 3. 10 Như tôi đã đề cập trong bài viết trước, bạn không nên sử dụng Python 3. 10 một cách nghiêm túc, bởi vì nó vẫn là bản phát hành beta nhưng bản beta đó có thể tải xuống từ trang web Python nếu bạn muốn thử với nó Python có hỗ trợ khớp mẫu không?Cú pháp khớp mẫu được giới thiệu trong Python 3. 10 cho phép sử dụng các kỹ thuật lập trình mới mạnh mẽ để đưa ra quyết định trong ứng dụng.
Phiên bản Python nào có khớp mẫu?'Structural Pattern Matching' mới được giới thiệu trong Python 3. 10 . Cú pháp cho tính năng mới này đã được đề xuất trong PEP 622 vào tháng 6 năm 2020. Câu lệnh khớp mẫu của Python được lấy cảm hứng từ cú pháp tương tự được tìm thấy trong Scala, Erlang và các ngôn ngữ khác.
Khớp mẫu là gì, hãy cho một ví dụ?Kết hợp mẫu được dùng để xác định xem các tệp nguồn của ngôn ngữ cấp cao có đúng cú pháp hay không . Nó cũng được sử dụng để tìm và thay thế một mẫu phù hợp trong văn bản hoặc mã bằng một văn bản/mã khác. Bất kỳ ứng dụng nào hỗ trợ chức năng tìm kiếm đều sử dụng khớp mẫu theo cách này hay cách khác.
Lệnh nào dành cho khớp mẫu?Kết hợp mẫu được sử dụng bởi các lệnh trình bao, chẳng hạn như lệnh ls , trong khi các biểu thức chính quy được sử dụng để tìm kiếm các chuỗi văn bản trong một . |