Trong hầu hết các bảng xếp hạng ngôn ngữ lập trình, Python luôn có mặt trong top đầu, thậm chí là đứng đầu nhờ sự hiệu quả và tối ưu của nó. Với những phát triển nhanh của công nghệ hiện nay, nhất là trong các lĩnh vực xử lý dữ liệu lớn Big Data hay trí tuệ nhân tạo AI thì bản thân Python cũng luôn đối mặt với những thách thức cần thay đổi nhằm tăng tốc độ và hiệu quả. Mới đây ngày 24/5/2023 phiên bản Python 3.12.0b1 được phát hành với nhiều cải tiến đáng giá mang tính cách mạng trong việc tối ưu hóa của ngôn ngữ lập trình. Bài viết hôm nay chúng ta cùng nhau tìm hiểu những tính năng mới trong phiên bản Python 3.12 này nhé.
Ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình bậc cao được phát triển với mục đích lập trình đa năng cùng thiết kế dễ đọc, dễ học và dễ nhớ. Được xuất hiện lần đầu vào năm 1991, trải qua hơn 30 năm thì Python luôn được xếp hạng vào những ngôn ngữ lập trình phổ biến nhất.
Python là một ngôn ngữ lập trình đa mẫu hình, lập trình hướng đối tượng và lập trình cấu trúc được hỗ trợ hoàn toàn, và nhiều tính năng của nó cũng hỗ trợ lập trình hàm và lập trình hướng khía cạnh. Python hiện nay hỗ trợ hầu hết các nền tảng hệ điều hành phổ biến từ Windows, Mac OS hay Linux. Nhờ những tính chất trên cùng với sự hỗ trợ đóng góp đến từ cộng đồng với các thư viện đa dạng, Python được ứng dụng trong nhiều lĩnh vực, nhất là trong các ngành phát triển trí tuệ nhân tạo AI hay xử lý dữ liệu lớn Big Data.
Python version 3.12
Python 3.0 được ra mắt ngày 3/12/2008; là một phiên bản lớn không tương thích ngược hoàn toàn với việc nhiều tính năng được chuyển mã ngược về loạt phiên bản Python 2.6.x và 2.7.x. Cũng vì thế mà hiện nay, Python vẫn duy trì hỗ trợ cả 2 phiên bản 3.x và 2.x; nhiều ứng dụng cũng tương thích với phiên bản Python 2.x.
Python 3.12 sẽ là phiên bản được dự kiến phát hành vào ngày 31/7/2023 sắp tới; và mới đây nhất ngày 22/5/2023 phiên bản beta thứ nhất với mã hiệu là 3.12.0b1 được giới thiệu với nhiều tính năng mang tính cách mạng trong việc tối ưu hóa ngôn ngữ, hứa hẹn triển khai nhanh hơn và hiệu quả hơn. Cùng điểm qua các tính năng mới đáng giá trên Python 3.12 này nhé:
Thông báo lỗi tốt hơn
Việc thông báo lỗi trên Python trong những phiên bản gần đây đã không chỉ dừng ở việc chỉ rõ chính xác vị trí lỗi (bao gồm dòng code, vị trí trên dòng) mà còn chi tiết hơn khi chỉ ra những đề xuất về những gì có thể sai trong đoạn code trên. Với phiên bản Python 3.12, thông báo lỗi còn có những cải tiến bổ sung như:
- Đề xuất được module bị import thiếu, bao gồm các module từ thư viện chuẩn của Python
- Đề xuất tốt hơn phương án xử lý khi code của bạn gặp lỗi cú pháp phổ biến khi nhập
- Đề xuất NameError bao gồm cả thể hiện self của lớp
Hỗ trợ cho Linux perf profiler
Linux perf (tiện ích kiểm soát không gian người dùng) là một công cụ phân tích hiệu suất trong Linux. Với những phiên bản trước đây, Python cho phép perf hoạt động và trả về thông tin những gì đang xảy ra ở level C trong Python Runtime. Version Python 3.12 kích hoạt chế độ opt-in (chế độ chủ động nhận thông tin từ hệ thống) để cho phép perf thu thập thông tin chi tiết về các chương trình Python. Việc chọn tham gia hay không có thể được thực hiện trong khai báo môi trường (environment) hoặc trực tiếp trong chương trình với function sys.activate_stack_trampoline.
Tham khảo Job HOT Python Developer Ho Chi Minh hấp dẫn trên TopDev
Khả năng giám sát và gỡ lỗi nhanh hơn
Thông thường để giám sát hay gỡ lỗi trong chương trình Python thì bạn cần đính kèm trình gỡ lỗi (debugger), khiến cho hiệu suất chương trình của bạn bị ảnh hưởng, chạy chậm đi ở toàn chương trình một cách không cần thiết.
Tiêu chuẩn của phiên bản mới bổ sung các hooks để có thể đính kèm phần gỡ lỗi hay giám sát vào chương trình với điểm bắt đầu và kết thúc; giúp giảm bớt được chi phí khi thực hiện các công việc này và không làm ảnh hưởng nhiều đến hiệu suất chương trình.
Hỗ trợ phương thức đặc biệt với giao thức bộ đệm
Dunder method là các phương thức đặc biệt mà trong Python tự động gọi, được bắt đầu và kết thúc bằng dấu gạch dưới kép (__). Việc gọi các phương thức này không được thực hiện trực tiếp mà xảy ra trong nội bộ lớp trên một hành động nhất định. Python 3.12 triển khai các phương thức dunder mới cho các đối tượng cho phép mã Python hoạt động với giao thức bộ đệm, thay vì việc trước đây phải viết các đối tượng đó bằng C. Phương thức __buffer__ có thể được sử dụng cho mã cấp phát bộ nhớ mới hay truy cập bộ nhớ hiện có.
Cải tiến khả năng gợi ý code khi đánh máy
Từ phiên bản 3.5 thì Python đã cho phép các công cụ linting phát hiện trước được nhiều lỗi ngay lúc nhập để cảnh báo hay gợi ý code. Với phiên bản mới lần này bổ sung thêm các tính năng bao quát phạm vi sử dụng rộng hơn và chi tiết hơn.
Cải thiện hiệu suất
Python 3.12 mang lại một số cải thiện về mặt hiệu suất đáng chú ý như sau:
- Comprehension inlining: Comprehension là một cú pháp cho phép bạn nhanh chóng tạo danh sách hay tập hợp; trong Python 3.12 nó có thể tạo một cách nội tuyến (inline) thay vì tạo các đối tượng tạm thời. Điều này giúp tăng tốc độ lên khoảng 11% so với trước.
- Immortal objects: Các đối tượng bất tử trong Python là những đối tượng không bao giờ bị thay đổi số lượng tham chiếu. Về lâu dài, nó giúp việc triển khai thay đổi quy mô đa lõi dễ dàng hơn và triển khai các tối ưu hóa khác.
- Smaller object sizes: Kích thước cơ sở của 1 đối tượng Python hiện tại là 208 bytes; kể từ phiên bản Python 3.12 sẽ được tái cấu trúc cho nhỏ hơn 1 nửa, chỉ còn 96 bytes
- Subinterpreters: trình thông dịch phụ tạo khả năng có nhiều phiên bản trình thông dịch chạy song song trong một quy trình Python. Đây là một bước tiến lớn hướng tới tính song song (Parallelism) tốt hơn trong Python
Kết bài
Python là một ngôn ngữ lập trình năng động, luôn phải đối mặt với những thách thức trong việc tăng tốc độ và hiệu quả. Với những cải tiến trong phiên bản Python 3.12 sắp tới, tương lai của Python hứa hẹn sẽ triển khai nhanh hơn và hiệu quả hơn. Hy vọng bài viết này mang lại cho bạn những thông tin hữu ích và hẹn gặp lại các bạn trong các bài viết tiếp theo của mình.
Tác giả: Phạm Minh Khoa
Bài viết liên quan
Khởi Đầu Dự Án Python Như Thế Nào Để Thuận Tiện Phát Triển Lên
Tuple Python là gì? Tìm hiểu về tuple python
Tạo kho lưu cho các gói thư viện Python
Top IT Jobs hot dành riêng cho Top Developers tại TopDev!