Phiên bản nào của Python là năm 2022?

Vào tháng 9 năm 2022, Python 3. 11. Phiên bản thử nghiệm phát hành 0rc2 đã có sẵn để bạn thử nghiệm và cập nhật các tính năng mới nhất của Python. Bản phát hành này là phiên bản xem trước cuối cùng trước bản phát hành cuối cùng của Python 3. 11. 0, dự kiến ​​vào ngày 24 tháng 10 năm 2022

Các phiên bản sửa lỗi mới nhất của Python, bao gồm 3. 10. 7, đã giới thiệu các thay đổi đột phá để đối phó với lỗ hổng bảo mật ảnh hưởng đến quá trình chuyển đổi từ str sang int và có thể khiến bạn dễ bị tấn công DDoS

Như thường lệ, hệ sinh thái Python đã kỷ niệm việc phát hành các phiên bản mới của nhiều gói, thư viện và khung cơ bản

Hãy đi sâu vào những tin tức thú vị nhất về Python trong tháng qua

Tham gia ngay. Nhấp vào đây để tham gia Bản tin Python thực sự và bạn sẽ không bao giờ bỏ lỡ một bài hướng dẫn, cập nhật khóa học hoặc bài đăng nào khác về Python

Trăn 3. 11. 0rc2 đã được phát hành

Mỗi tháng, Python phát hành một số phiên bản từ các nhánh phát triển khác nhau của nó. Các bản phát hành mới thường thêm các tính năng mới, sửa lỗi, sửa các lỗ hổng bảo mật, v.v. Tháng 9 năm 2022 mang đến một số bản phát hành mới để các lập trình viên Python thử nghiệm, sử dụng và tận hưởng. Đáng chú ý nhất là 3 lần cuối cùng của Python. 11 ứng cử viên phát hành

Trăn 3. 11. 0rc2 được phát hành vào Thứ Hai, ngày 12 tháng 9 năm 2022. Đây là phiên bản xem trước cuối cùng trước khi phát hành Python 3 cuối cùng. 11. 0

nguồn hình ảnh

Chỉ những thay đổi được xem xét để sửa lỗi mới được phép trong giai đoạn ứng cử viên phát hành. Sẽ có rất ít, nếu có, thay đổi mã giữa ứng cử viên phát hành này và bản phát hành cuối cùng. Như được liệt kê trong bài phát hành, các tính năng mới của 3. 11 series, so với 3. 10, bao gồm những điều sau đây

  • PEP 657 – Bao gồm các vị trí lỗi chi tiết trong Traceback
  • PEP 654 – Nhóm ngoại lệ và except*
  • PEP 680 – tomllib. Hỗ trợ phân tích cú pháp TOML trong Thư viện chuẩn
  • PEP 673 – Self Loại
  • PEP 646 – Generic biến thể
  • PEP 675 – Loại chuỗi ký tự tùy ý
  • PEP 655 – Đánh dấu các mục TypedDict riêng lẻ theo yêu cầu hoặc có khả năng bị thiếu
  • PEP 681 – Chuyển đổi lớp dữ liệu

Trăn 3. 11 cũng đi kèm với một vài cập nhật thú vị khác. gh-90908 giới thiệu các nhóm nhiệm vụ cho asyncio và gh-34627 cho phép nhóm nguyên tử [[?>…]] và định lượng sở hữu [*+, ++, ?+, {m,n}+] trong biểu thức chính quy

Ngoài ra, Python 3. 11 sẽ mang lại hiệu suất nhanh hơn

Dự án Faster CPython đã mang lại một số kết quả thú vị. Trăn 3. 11 nhanh hơn tới 10-60% so với Python 3. 10. Trung bình, chúng tôi đo được 1. Tăng tốc 22 lần trên bộ điểm chuẩn tiêu chuẩn. Xem CPython nhanh hơn để biết chi tiết. [Nguồn]

Để tìm hiểu sâu hơn về một số tính năng mới thú vị này của Python 3. 11, hãy xem các tài nguyên sau tùy thuộc vào nhu cầu và mối quan tâm cụ thể của bạn

  • Trăn 3. 11 Xem trước. Thông báo lỗi thậm chí tốt hơn
  • Trăn 3. 11 Xem trước. Nhóm nhiệm vụ và ngoại lệ
  • Trăn 3. 11 Xem trước. TOML và tomllib
  • Python và TOML. Những người bạn tốt nhất mới

Ba hướng dẫn đầu tiên trong danh sách này là một phần của loạt bài viết giúp bạn bắt đầu và chạy với Python 3. 11

Nếu bạn muốn cài đặt bản phát hành mới này và dùng thử một số tính năng thú vị nhất của nó, thì hãy xem hướng dẫn Real Python có tên Làm cách nào bạn có thể cài đặt phiên bản Python trước khi phát hành?

Loại bỏ các quảng cáo

Trăn 3. 11. 0 Bản phát hành đã bị hoãn lại cho đến ngày 24 tháng 10

Nhóm phát triển lõi Python đã hoãn bản phát hành cuối cùng của Python 3. 11. 0 do ứng cử viên phát hành cuối cùng bị trì hoãn một tuần, 3. 11. 0rc2. Bây giờ, bản phát hành chính thức được lên lịch vào Thứ Hai, ngày 24 tháng 10 năm 2022

Bản phát hành cuối cùng này ban đầu được lên lịch vào Thứ Hai, ngày 3 tháng 10 năm 2022. Vì vậy, chúng ta sẽ phải đợi thêm ba tuần nữa để chào đón Python 3. 11. 0 vào máy tính của chúng tôi

Theo 3. 11 ghi chú tuổi thọ, bản phát hành này sẽ nhận được các bản cập nhật sửa lỗi khoảng hai tháng một lần trong khoảng mười tám tháng

Python đã giới thiệu một thay đổi đột phá để khắc phục lỗ hổng

Python phát hành 3. 10. 7, 3. 9. 14, 3. 8. 14 và 3. 7. 14 hiện có sẵn. Trăn 3. 10, phiên bản ổn định mới nhất, đã phát hành phiên bản sửa lỗi thứ bảy ngoài lịch trình. Quyết định này nhằm giải quyết một lỗ hổng cho phép tấn công từ chối dịch vụ [DoS] do sự phức tạp về mặt thuật toán của các chuyển đổi từ str đến int

Nền tảng CVE đã đăng ký lỗ hổng an ninh mạng được tiết lộ công khai này trong báo cáo CVE-2020-10735 của mình. Trạng thái mô tả lỗ hổng ban đầu

Một lỗ hổng đã được tìm thấy trong Python. Trong các thuật toán có độ phức tạp thời gian bậc hai sử dụng cơ số không phải nhị phân, khi sử dụng str2, hệ thống có thể mất 50 mili giây để phân tích cú pháp chuỗi int có 100.000 chữ số và 5 cho 1.000.000 chữ số [str4, str5, str6 và str7 cho cơ số nhị phân 2, 4, . Mối đe dọa cao nhất từ ​​lỗ hổng này là tính khả dụng của hệ thống. [Nguồn]

Trong khi đó, Có gì mới trong Python 3. 10 trong tài liệu Python mô tả vấn đề như sau

Chuyển đổi giữa intstr trong các cơ số không phải là 2 [nhị phân], 4, 8 [bát phân], 16 [thập lục phân] hoặc 32, chẳng hạn như cơ số 10 [thập phân] giờ đây sẽ tăng một int0 nếu số chữ số ở dạng chuỗi lớn hơn a . [Nguồn]

Thay đổi này sẽ phá vỡ mã hiện có chạy loại chuyển đổi này trên các số vượt quá một số chữ số nhất định. Giới hạn mặc định cho số chữ số hiện là 4300 chữ số. Dưới đây là một ví dụ ngắn phát hiện ra sự thay đổi đột phá bằng cách chạy chuyển đổi từ str sang int trong Python 3. 10. 6 so với 3. 10. 7

>>>

>>> # Python 3.10.6
>>> int["2" * 5432]
222222222222222222222222222222222222222222222222222222222222222...

>>> # Python 3.10.7
>>> int["2" * 5432]
Traceback [most recent call last]:
   ...
ValueError: Exceeds the limit [4300] for integer string conversion:
   value has 5432 digits; use sys.set_int_max_str_digits[]
   to increase the limit.

Lệnh gọi tới str7 này hoạt động tốt trong Python 3. 10. 6 và tăng int0 trong Python 3. 10. 7. Lưu ý rằng Python vẫn có thể hoạt động với số nguyên lớn. Lỗi chỉ xuất hiện khi chuyển đổi giữa số nguyên và chuỗi. Hành vi mới này có thể phá vỡ nhiều hơn một cơ sở mã, vì vậy hãy theo dõi nó nếu mã của bạn thường xử lý loại chuyển đổi này

May mắn thay, bạn có thể tăng giới hạn cho số lượng chữ số được phép khi bạn muốn một thao tác vượt quá giới hạn đó. Để làm điều này, bạn có thể sử dụng một trong những điều sau đây

  • Biến môi trường int5
  • Cờ dòng lệnh int6
  • Hàm int7 từ mô-đun int8

Kiểm tra tài liệu để biết thêm chi tiết về cách thay đổi giới hạn mặc định nếu bạn muốn mã của mình vượt quá giá trị này

Cuối cùng, 3. 9. 14, 3. 8. 14 và 3. 7. 14 bản phát hành bảo mật cũng giải quyết vấn đề được mô tả, cùng với một số bản sửa lỗi và cải tiến bảo mật ít khẩn cấp hơn. Vì vậy, việc nâng cấp cài đặt của bạn rất được khuyến khích nếu bạn đang sử dụng bất kỳ chuỗi Python nào trong mã sản xuất

Bản phát hành mới trong Hệ sinh thái Python

Cộng đồng Python toàn cầu không ngừng thúc đẩy hệ sinh thái Python hướng tới tương lai. Như thường lệ, bạn sẽ tìm thấy nhiều bản phát hành mới từ các thư viện, khung và dự án khác nhau. Django, pandas, TensorFlow và Matplotlib là một số dự án dễ thấy nhất trong danh sách phát hành mới của tháng 9

Bản phát hành sửa lỗi Django 4. 1. 1

Vào ngày 5 tháng 9 năm 2022, Django đã phát hành 4. 1. 1 bản phát hành sửa lỗi. Bản phát hành này sửa một số hồi quy từ Django 4. 1. Để biết danh sách sửa chữa đầy đủ, hãy xem ghi chú phát hành của phiên bản này

Như thường lệ, bạn có thể tải xuống gói đã phát hành từ trang tải xuống của Django. Ngoài ra, bạn có thể cài đặt Django trực tiếp từ chỉ mục gói Python, PyPI, bằng cách chạy int9 trên dòng lệnh hoặc thiết bị đầu cuối của bạn

Loại bỏ các quảng cáo

gấu trúc 1. 5. 0 đã được phát hành

Thư viện pandas, một hạng nặng khác của Python, đã phát hành phiên bản mới vào ngày 19 tháng 9. gấu trúc 1. 5. 0 hiện có sẵn với một số cải tiến và sửa lỗi

Một số cải tiến có liên quan nhất bao gồm

  • Nhóm phát triển gấu trúc hiện hỗ trợ except*0, cung cấp sơ khai loại cho API gấu trúc. Những sơ khai loại này cho phép bạn nhập kiểm tra mã gấu trúc của mình bằng mypy và Pyright
  • Giao thức API trao đổi except*1 hiện có sẵn để sử dụng. Mục đích của giao thức này là cho phép trao đổi dữ liệu giữa các loại DataFrames khác nhau. Nó cho phép bạn chuyển đổi một loại DataFrame thành loại khác
  • Lớp except*2 hiện có phương thức except*3 mới, cho phép thêm các hàng chân trang tùy chỉnh để trực quan hóa các phép tính bổ sung trên dữ liệu

Kiểm tra các ghi chú phát hành của phiên bản gấu trúc này để biết danh sách đầy đủ các tính năng mới, sửa lỗi và hơn thế nữa

TenorFlow 2. 10 đã được phát hành

TenorFlow 2. 10 được phát hành vào ngày 6 tháng 9 năm 2022. Bản phát hành này bao gồm một số tính năng mới thân thiện với người dùng trong Keras deep learning Python API. Bạn sẽ tìm thấy các tính năng giúp bạn phát triển các mô hình kiểu máy biến áp. Bạn cũng sẽ có các trình khởi tạo Keras xác định và không trạng thái, cho phép Keras hỗ trợ các tính năng mới như đào tạo mô hình nhiều máy khách với DTensor

Bản phát hành cũng mang đến các bản cập nhật cho API trình tối ưu hóa Keras. Thay đổi này sẽ không ảnh hưởng đến quá nhiều người dùng, nhưng bạn nên kiểm tra tài liệu để xác minh xem có bất kỳ API nào bạn sử dụng trong quy trình làm việc của mình đã thay đổi hay không

Bạn cũng sẽ tìm thấy các công cụ mới để giúp bạn tải dữ liệu âm thanh và tạo bộ dữ liệu phân loại âm thanh từ các thư mục của tệp WAV. Với những công cụ mới này, bạn có thể tạo các đối tượng except*4 được gắn nhãn mà bạn có thể sử dụng để xây dựng và huấn luyện các mô hình nhận dạng giọng nói tự động [ASR]

Để biết danh sách đầy đủ các tính năng và cải tiến mới trong TensorFlow 2. 10, hãy xem bài phát hành, Có gì mới trong TensorFlow 2. 10?

Matplotlib 3. 6. 0 đã được phát hành

Bản phát hành mới nhất của Matplotlib mang đến một số tính năng mới thú vị sẽ giúp bạn tạo các biểu đồ tốt hơn từ dữ liệu của mình. Những cải tiến quan trọng nhất đạt được nhiều khía cạnh của thư viện, bao gồm

  • Tạo và quản lý hình và trục
  • phương pháp vẽ đồ thị
  • Màu sắc và bản đồ màu
  • Tiêu đề, đánh dấu và nhãn
  • truyền thuyết
  • đánh dấu
  • Phông chữ và văn bản
  • trục 3D
  • Công Cụ Tương Tác

Bản phát hành cũng bao gồm các thay đổi dành riêng cho nền tảng nhằm cải thiện một số khía cạnh trong hành vi của Matplotlib trên nền tảng macOS và Windows

Một lần nữa, nếu bạn muốn có danh sách chi tiết các tính năng và cải tiến mới, hãy xem ghi chú phát hành trong Có gì mới trong Matplotlib 3. 6. 0 [15 Th09 2022]

Nếu bạn muốn xây dựng và linh hoạt các cơ Matplotlib của mình, bạn có thể vẽ bộ Mandelbrot hoặc sử dụng except*5 để trực quan hóa dữ liệu của mình. Nếu bạn muốn tùy chỉnh các sơ đồ và biểu đồ của mình bằng một dòng mã, hãy xem The Real Python Podcast. Tập 125 học cách làm việc với style sheet

Điều gì tiếp theo cho Python?

Vì vậy, phần tin tức Python yêu thích của bạn từ tháng 9 là gì? . 11. 0rc2 một lần thử? . 10. 7?

Python hạnh phúc

Tham gia ngay. Nhấp vào đây để tham gia Bản tin Python thực sự và bạn sẽ không bao giờ bỏ lỡ một bài hướng dẫn, cập nhật khóa học hoặc bài đăng nào khác về Python

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Leodanis Pozo Ramos

Leodanis là một kỹ sư công nghiệp yêu thích Python và phát triển phần mềm. Anh ấy là một nhà phát triển Python tự học với hơn 6 năm kinh nghiệm. Anh ấy là một nhà văn đam mê kỹ thuật với số lượng bài báo được xuất bản ngày càng tăng trên Real Python và các trang web khác

» Tìm hiểu thêm về Leodanis

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Geir Arne

kate

Martin

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Đó là Python 3. 11 ngày phát hành?

Trăn 3. 11 được phát hành vào Tháng 10. ngày 24, năm 2022 . Phiên bản mới nhất này giúp Python nhanh hơn và thân thiện hơn với người dùng.

Python có còn phù hợp vào năm 2022 không?

Đó là lý do tại sao một số người sống trong bóng tối cho rằng ngôn ngữ lập trình Python có thể mất đi tính phổ biến ngay sau năm 2022. Tuy nhiên, với sự thành công của Python trong học máy và các trường hợp sử dụng chung như phát triển web, dự án khoa học dữ liệu, v.v. , còn quá sớm để nói Python sẽ sớm biến mất

Có Python 4 sắp ra mắt không?

Trăn 4. 0 có thể sẽ không bao giờ đến — theo người tạo ra Python, Guido van Rossum. Các bài học rút ra từ việc chuyển từ Python 2 sang Python 3 đã cho thấy việc chuyển sang phiên bản ngôn ngữ mới phức tạp như thế nào. Do đó, có thể sẽ không có phiên bản Python mới trong thời gian tới.

Là Python 3. 10 ra mắt chưa?

Bài viết này giải thích các tính năng mới trong Python 3. 10, so với 3. 9. Trăn 3. 10 được phát hành vào ngày 4 tháng 10 năm 2021 .

Chủ Đề