Các tính năng mới và bản sửa lỗi tốt nhất trong Python 3. 11
Hiện có sẵn để thử nghiệm là trình thông dịch nhanh hơn, lỗi rõ ràng hơn, gợi ý loại hiệu quả hơn và rất nhiều cải tiến và tăng tốc khácBởi Serdar YegulalpSerdar Yegulalp Show
Nhà văn cao cấp, InfoWorld. InfoWorld. Nhà văn cao cấp, InfoWorld. suy nghĩ Mục lục Cho xem nhiều hơn Ngôn ngữ lập trình Python phát hành các phiên bản mới hàng năm, với bản beta bị khóa tính năng vào nửa đầu năm và bản phát hành cuối cùng vào cuối năm Trăn 3. 11 vừa được phát hành và các nhà phát triển được khuyến khích dùng thử phiên bản mới nhất này trên mã phi sản xuất, vừa để xác minh rằng nó hoạt động với các chương trình của bạn vừa để biết liệu mã của bạn có được hưởng lợi từ các cải tiến hiệu suất của nó hay không Dưới đây là danh sách các tính năng mới quan trọng nhất trong Python 3. 11 và ý nghĩa của chúng đối với các nhà phát triển Python Cải thiện tốc độNhiều cải tiến hiệu suất cá nhân đã có trong Python 3. 11, nhưng bổ sung lớn nhất là trình thông dịch thích ứng chuyên dụng. Vì kiểu của một đối tượng hiếm khi thay đổi, nên trình thông dịch hiện cố gắng phân tích mã đang chạy và thay thế mã byte chung bằng kiểu cụ thể. Chẳng hạn, các phép toán nhị phân (cộng, trừ, v.v. ) có thể được thay thế bằng các phiên bản chuyên dụng cho số nguyên, số float và chuỗi Các cuộc gọi hàm Python cũng yêu cầu ít chi phí hơn trong Python 3. 11. Khung ngăn xếp cho các cuộc gọi chức năng hiện sử dụng ít bộ nhớ hơn và được thiết kế hiệu quả hơn. Ngoài ra, trong khi các cuộc gọi đệ quy không được tối ưu hóa theo đuôi (dù sao thì điều này có thể không khả thi trong Python), nhưng chúng hiệu quả hơn các phiên bản trước. Bản thân trình thông dịch Python cũng khởi động nhanh hơn và các mô-đun lõi cần thiết cho thời gian chạy Python được lưu trữ và tải hiệu quả hơn Theo bộ điểm chuẩn Python chính thức, Python 3. 11 chạy quanh 1. Nhanh hơn 25 lần so với Python 3. 10. Lưu ý rằng tốc độ tăng tốc này là một biện pháp tổng hợp. Một số thứ chạy nhanh hơn nhiều, nhưng nhiều thứ khác chỉ chạy nhanh hơn một chút hoặc gần như vậy. Tuy nhiên, phần tốt nhất về những cải tiến này là chúng miễn phí. Bạn không cần thực hiện bất kỳ thay đổi mã nào cho các chương trình Python để tận dụng lợi thế của Python 3. tăng tốc của 11 Thông tin lỗi nâng caoMột tính năng hữu ích ngay lập tức khác trong Python 3. 11 là thông báo lỗi chi tiết hơn. Trăn 3. 10 đã có báo cáo lỗi tốt hơn, nhờ trình phân tích cú pháp mới được sử dụng trong trình thông dịch. Bây giờ, Python 3. 11 mở rộng về điều đó bằng cách cung cấp phản hồi chi tiết về phần cụ thể của một biểu thức đã cho gây ra lỗi Hãy xem xét đoạn mã sau, nó sẽ báo lỗi File "C:\Python311\code.py", line 2, in6 Trong Trăn 3. 10, chúng tôi sẽ nhận được thông báo lỗi sau, thông báo này không hữu ích lắm File "C:\Python311\code.py", line 2, in Thay vì để chúng tôi tự hỏi File "C:\Python311\code.py", line 2, in6 nào không thể viết được, dấu vết lỗi trong Python 3. 11 điểm đến phần chính xác của dòng tạo ra lỗi File "C:\Python311\code.py", line 2, in Bây giờ, không có sự mơ hồ về vấn đề nằm ở đâu cải tiến ngoại lệNgoại lệ, cơ chế xử lý lỗi của Python, đã nhận được nhiều tính năng mới trong Python 3. 11
cải tiến đánh máyCác tính năng gợi ý kiểu của Python giúp các cơ sở mã lớn dễ dàng quản lý và phân tích hơn, đồng thời đã tăng lên đáng kể sau mỗi lần sửa đổi kể từ Python 3. 5. Trăn 3. 11 mang đến một số bổ sung gợi ý kiểu mới Loại bản thânCác phương thức lớp mà trước đây File "C:\Python311\code.py", line 2, in0 yêu cầu chú thích dài dòng và khó hiểu để có thể sử dụng được. đánh máy. Self cho phép bạn chú thích giá trị trả về của một phương thức lớp, đơn giản là, File "C:\Python311\code.py", line 2, in1. Bạn nhận được kết quả hữu ích và có thể dự đoán được từ các công cụ phân tích của mình cho các phương pháp đó Kiểu chữ chuỗi tùy ýTrước đây, các chú thích kiểu không có cách nào để chỉ ra một biến nhất định cần phải là một chuỗi ký tự—nghĩa là một chuỗi được xác định trong mã nguồn. kiểu gõ mới. Chú thích LiteralString khắc phục điều đó. Sử dụng chú thích mới, linters có thể kiểm tra một biến là một chuỗi được xác định trong nguồn hoặc một chuỗi mới chỉ bao gồm các chuỗi được xác định bởi nguồn Biến đổi lớp dữ liệuKể từ Python 3. 7, các lớp dữ liệu đã làm cho việc xác định các lớp tuân theo các mẫu chung để tạo các thuộc tính dựa trên các tham số khởi tạo của chúng trở nên dễ dàng hơn. Nhưng không có cơ chế tiêu chuẩn nào cho phép những thứ hoạt động giống như lớp dữ liệu (nhưng bản thân chúng không phải là lớp dữ liệu) sử dụng chú thích kiểu để khai báo hành vi của chúng. Biến đổi lớp dữ liệu thêm trình trang trí File "C:\Python311\code.py", line 2, in2 để chỉ ra cách một hàm, lớp hoặc siêu dữ liệu đã cho hoạt động giống như một lớp dữ liệu Thuốc generic biến thểĐề xuất ban đầu cho các gợi ý về loại bao gồm File "C:\Python311\code.py", line 2, in0, một cách để chỉ định một chức năng chung sử dụng một loại được tham số hóa duy nhất—ví dụ: loại File "C:\Python311\code.py", line 2, in1 có thể là File "C:\Python311\code.py", line 2, in6 hoặc File "C:\Python311\code.py", line 2, in3. Trăn 3. 11 bổ sung thêm TypeVarTuple hoặc "variadic generics" mà bạn có thể sử dụng để chỉ định một trình giữ chỗ cho không chỉ một loại mà cả một loạt chúng, được biểu thị dưới dạng một bộ. Điều này sẽ đặc biệt hữu ích trong các thư viện như NumPy, nơi bạn có thể thực hiện kiểm tra trước các lỗi như liệu một mảng được cung cấp có đúng hình dạng hay không Hỗ trợ chỉ đọc TOML trong stdlibPython sử dụng TOML, hoặc Ngôn ngữ tối thiểu rõ ràng của Tom, làm định dạng cấu hình (như trong pyproject. toml), nhưng không thể hiện khả năng đọc các tệp định dạng TOML dưới dạng mô-đun thư viện chuẩn. Trăn 3. 11 thêm tomllib để giải quyết vấn đề đó. Lưu ý rằng File "C:\Python311\code.py", line 2, in4 không tạo hoặc ghi tệp TOML; Nhóm nguyên tử và tăng tốc cho regexMô-đun File "C:\Python311\code.py", line 2, in5 của Python, để làm việc với các biểu thức chính quy, đã thiếu một số tính năng được tìm thấy trong các triển khai biểu thức chính quy khác. Một là nhóm nguyên tử, được hỗ trợ rộng rãi trong các ngôn ngữ khác. Trăn 3. 11 hiện hỗ trợ mẫu này bằng cách sử dụng cú pháp chung cho các nhóm nguyên tử (ví dụ: File "C:\Python311\code.py", line 2, in6) Công cụ khớp mẫu của mô-đun File "C:\Python311\code.py", line 2, in5 cũng đã được viết lại một chút và chạy nhanh hơn khoảng 10% Xóa 'pin chết' khỏi thư viện tiêu chuẩnPEP 594 đã bắt đầu nỗ lực loại bỏ nhiều cái gọi là pin chết, hoặc các mô-đun lỗi thời hoặc không được bảo trì, khỏi thư viện chuẩn của Python. Kể từ Python 3. 11, các thư viện đó được đánh dấu là không dùng nữa nhưng chưa bị xóa; . 13 Python 3 khác. 11 bổ sung, sửa lỗi và thay đổiNhiều cải tiến nhỏ hơn cũng đã xuất hiện trong Python 3. 11
Có liên quan
Serdar Yegulalp là một nhà văn cao cấp tại InfoWorld, tập trung vào học máy, container hóa, devops, hệ sinh thái Python và đánh giá định kỳ Các tính năng mới của Python 3 là gì?Trăn 3. 0 Những thay đổi trong quá trình phát triển PEP 343. Câu lệnh 'với' PEP 366. Nhập khẩu tương đối rõ ràng từ một mô-đun chính PEP 370. Thư mục gói trang web cho mỗi người dùng PEP 371. Gói đa xử lý PEP 3101. Định dạng chuỗi nâng cao PEP 3105. in dưới dạng hàm Tại sao lại là Python 3. 11 nhanh hơn?Trăn 3. 11 đã thiết kế mã byte chuyên dụng để tận dụng cấu trúc dữ liệu mới . Cấu trúc dữ liệu mới + mã byte chuyên biệt = Python nhanh hơn.
Phiên bản Python nào tốt nhất năm 2022?Phiên bản Python 3. 10. 4 là bản phát hành ổn định hiện tại, bản phát hành bảo trì thứ tư của Python 3. 10, xuất bản ngày 24 tháng 3 năm 2022.
Khi nào Python 3. 11 phát hành?Trăn 3. 11 được xuất bản vào ngày 24 tháng 10 năm 2022 . Phiên bản Python mới nhất này nhanh hơn và thân thiện hơn với người dùng. Sau mười bảy tháng phát triển, giờ đây nó đã sẵn sàng để sử dụng vào thời gian chính. Như trong mọi phiên bản, Python 3. 11 đi kèm với rất nhiều cải tiến và thay đổi.
|