Hướng dẫn dùng python 3.10.1 python
Ngày phát hành Python 3.10 đang đến gần, dự tính là tháng 05 2021. Vì vậy đã đến lúc sử dụng phiên bản của ngôn ngữ lập trình Python mới và xem những tính năng mới tuyệt vời nào sẽ đi kèm với bản phát hành mới này. Nội dung Cài đặt phiên bản Python 3.10 AlphaĐể thử các tính năng mới này, chúng tôi sẽ phải cài đặt phiên bản Alpha / Beta của Python 3.10. Hãy nhớ rằng phiên bản cuối cùng này vẫn chưa ổn định.
Python 3.10 cuối cùng đã được cài đặt , bây giờ chúng ta có thể xem qua tất cả các tính năng mới. Hãy bắt đầu Phiên bản mới của python có nhiều tính năng mới. Bài viết này chỉ đưa ra một số tính năng quan trọng nhất trong số đó: Kiểu toán tử UnionPhiên bản cũ
Phiên bản mới
Tính năng này được đóng góp bởi Ken Jin. Truy cập liên kết này (PEP 612) để biết thêm chi tiết. TypeAlias AnnotationKhái niệm chú thích (Annotation) TypeAlias lần đầu tiên được giới thiệu trong PEP 484 (Phiên bản Python 3.5). Việc hoàn thiện lại khái niệm này sẽ được trình bày trong PEP 613 (Phiên bản Python: 3.10). Lý do chính cho việc thực hiện lại này là khái niệm cũ rất khó cho người kiểm tra kiểu phân biệt giữa bí danh kiểu (type aliases) và phép gán thông thường. Xem ví dụ sau: Phiên bản cũ
Phiên bản mới
Tính năng này được đóng góp bởi Mikhail Golubev. Truy cập liên kết này (PEP 613) để biết thêm chi tiết. Thông báo lỗi tốt hơn trong trình phân tích cú phápGiả sử bạn viết dictionay (hoặc tuple, list hoặc set) và bạn quên đóng dấu ngoặc (hoặc dấu ngoặc đơn). Nếu bạn đang làm việc với python
3, khi bạn thực thi code và trình thông dịch sẽ hiển thị lỗi cú pháp như lỗi “SyntaxError : unexpected EOF”. Phiên bản cũ
Phiên bản mới
Tính năng này được đóng góp bởi Pablo Galindo và Batuhan Taskaya Đối sánh mô hình cấu trúc (Structural Pattern Matching)Có thể nói rằng tính năng này là quan trọng nhất được giới thiệu trong Python 3.10. So khớp mẫu (Pattern matching) sẽ được trình bày dưới dạng chung: câu lệnh so khớp và câu lệnh trường hợp (match statement & case statements) của các mẫu với các hành động liên kết. Các mẫu có thể là: chuỗi, ánh xạ, kiểu dữ liệu nguyên thủy cũng như các class instances. Ví dụ: bằng cách sử dụng đối sánh mẫu, chúng tôi có thể trích xuất thông tin từ các kiểu dữ liệu phức tạp, đưa vào cấu trúc dữ liệu và áp dụng các hành động cụ thể dựa trên các biểu mẫu dữ liệu khác nhau. Đây không chỉ là cú pháp switch / case mà chúng ta đều biết từ các ngôn ngữ lập trình khác, mà nó còn bổ sung thêm chức năng mạnh mẽ khác. Ví dụ 1: Mẫu đơn giản – khớp với một chữ
Ví dụ 2: Các mẫu có chữ và biến
Ví dụ 3: Các mẫu và lớp
Ví dụ 4: Guard (bảo vệ) Chúng ta có thể thêm mệnh đề if vào một mẫu, được gọi là Guard. Nếu lệnh guard là sai, match sẽ tiếp tục để thử khối tiếp theo. Lưu ý rằng việc thu thập giá trị diễn ra trước khi đánh giá guard:
Ví dụ 5: Các mẫu lồng nhau Các mẫu có thể được lồng vào nhau theo những cách tùy ý. Ví dụ: nếu dữ liệu của chúng ta là một danh sách ngắn các điểm, chúng có thể được đối sánh theo cách sau:
Nếu bạn muốn xem thêm các ví dụ và hướng dẫn đầy đủ, hãy xem PEP 636. Cải thiện hiệu suấtGiống như các bản phát hành gần đây của Python, Python 3.10 cũng mang lại một số cải tiến về hiệu suất. Trước hết là tối ưu hóa các hàm tạo str (), byte () và bytearray (), sẽ nhanh hơn khoảng 30% (đoạn code được điều chỉnh từ ví dụ về trình theo dõi lỗi Python):
Một tối ưu hóa đáng chú ý khác (nếu bạn đang sử dụng type annotations) là các tham số hàm và chú thích của chúng không còn được tính toán trong thời gian chạy nữa mà thay vào đó là tại thời điểm biên dịch. Điều này hiện giúp việc tạo một hàm có chú thích tham số nhanh hơn khoảng 2 lần. Trên hết, có một số tối ưu hóa hơn trong các phần khác nhau của lõi Python. Bạn có thể tìm thấy chi tiết cụ thể về những vấn đề đó trong các sự cố sau trong trình theo dõi lỗi Python: bpo-41718, bpo-42927 và bpo-43452. Kết luậnPython 3.10 mang đến nhiều tính năng thú vị mới, nhưng vì nó là phiên bản alpha (chưa ổn định) nên vẫn còn lâu mới được thử nghiệm đầy đủ và sẵn sàng đưa vào sử dụng. Vì vậy, không được khuyến khích để bắt đầu sử dụng ngay nhưng bạn có thể khám phá các tính năng mới của phiên bản này. Bạn có thể xem tất cả những tính năng mới của Python 3.10 tại đây Theo: 1/https://dev.to/thrpy/python-3-10-what-s-the-new-4a61 2/https://towardsdatascience.com/all-the-important-features-and-changes-in-python-3-10-e3d1fe542fbf |