/ / Python 3.12 sẽ giúp cải thiện việc gỡ lỗi của bạn như thế nào

Python 3.12 sẽ giúp cải thiện việc gỡ lỗi của bạn như thế nào

pexels realtoughcandycom 11035474

Python có kế hoạch phát hành phiên bản 3.12 của ngôn ngữ này vào tháng 10 năm 2023. Phiên bản này mang đến một loạt các tính năng và cải tiến thú vị. Mục tiêu của nó là cải thiện trải nghiệm viết mã của bạn bằng cách cung cấp một nền tảng mạnh mẽ và hiệu quả hơn, cho phép bạn nâng cao kỹ năng viết mã của mình.


1. Thông báo lỗi nâng cao

Python đã liên tục cải thiện các thông báo lỗi của nó trong các phiên bản gần đây. Bản phát hành 3.11 đã giới thiệu các thông báo lỗi chính xác hơn bằng cách chỉ ra các vị trí chính xác trong các dòng.

Python 3.12 đưa những cải tiến này lên một tầm cao mới, với những bổ sung sau:

  • Đề xuất cho các mô-đun bị thiếu (“bạn có quên nhập X không?”) hiện bao gồm các mô-đun từ thư viện chuẩn.
  • Cải thiện đề xuất lỗi cho các lỗi cú pháp phổ biến liên quan đến nhập khẩu. Ví dụ, nếu bạn có nhập p từ m trong mã của bạn, một lỗi sẽ nhắc bạn có định viết không từ m nhập p.
  • Lỗi nhập cho một mô-đun nhất định hiện bao gồm các đề xuất từ ​​không gian tên của mô-đun đã nhập.
  • TênLỗi đề xuất bây giờ cũng kết hợp bản thân được thêm vào tên khi được nêu trong một thể hiện của lớp. Ví dụ, nếu tên tốc độ không được xác định, thông báo lỗi sẽ đề xuất tự tốc độ như một sự điều chỉnh tiềm năng. Điều này đặc biệt hữu ích kể từ khi bỏ qua bản thân đối với các biến thể hiện là một nguồn lỗi phổ biến trong các thể hiện của lớp.

2. Hỗ trợ cho Linux Perf Profiler

Công cụ hồ sơ Linux được sử dụng rộng rãi, hoàn hảo, hiện có thể hoạt động với các chương trình Python 3.12. Trước đây, nó chỉ tập trung vào việc theo dõi các hoạt động cấp C trong thời gian chạy Python.

Với Python 3.12, giờ đây bạn cũng có thể kích hoạt tính năng hoàn hảo để thu thập thông tin chi tiết về các chương trình Python. Bạn có thể kích hoạt nó ở cấp độ môi trường hoặc trong chương trình Python bằng cách sử dụng sys.activate_stack_trampoline chức năng.

3. Cải tiến gợi ý loại

Kể từ khi được giới thiệu trong Python 3.5, cú pháp gợi ý kiểu của Python đã cho phép các công cụ linting phát hiện trước một loạt lỗi. Với mỗi bản phát hành tiếp theo, hệ thống loại của Python đã phát triển để bao gồm nhiều trường hợp sử dụng hơn, cung cấp các tính năng nhập nâng cao.

đã gõDict

Python 3.12 giới thiệu việc sử dụng TypedDicts làm nguồn để gợi ý đối số từ khóa trong các hàm. Điều này sử dụng Unpack variadic chung mà phiên bản 3.11 đã giới thiệu.

Đây là một ví dụ minh họa tính năng này:

 class Movie(TypedDict):
    name: str
    year: int

def foo(**kwargs: Unpack[Movie]) -> None: ...

Trong trường hợp này, chức năng foo có thể nhận các đối số từ khóa có tên và loại phù hợp với nội dung của Movie TypedDict: tên loại strnăm loại int.

Cải tiến này chứng tỏ giá trị khi các chức năng gợi ý kiểu chấp nhận các đối số chỉ từ khóa tùy chọn mà không có giá trị mặc định.

Loại Tham số Cú pháp

Python 3.12 giới thiệu một cú pháp ngắn gọn hơn để chỉ định các loại trong các lớp, hàm hoặc bí danh loại chung.

Hãy xem xét những điều sau đây:

 
from typing import TypeVar
_T = TypeVar("_T")
def func(a: _T, b: _T) -> _T:
    ...
def func[T](a: T, b: T) -> T:
    ...

Với cú pháp mới, không cần phải nhập TypeVar một cách rõ ràng. Thay vào đó, bạn có thể sử dụng chức năng[T] cú pháp để chỉ ra các tham chiếu loại chung. Cũng có thể xác định các giới hạn của loại, chẳng hạn như chỉ định rằng một loại phải là một trong một nhóm các loại. Tuy nhiên, bản thân các loại này không thể chung chung. Một ví dụ về cú pháp này là chức năng[T: (str, int)].

4. Thu gom rác

Trong Python 3.12, cơ chế thu gom rác (GC) đã thay đổi. Trước đây, GC chạy bất cứ khi nào một đối tượng được phân bổ.

Tuy nhiên, bắt đầu từ Python 3.12, GC hoạt động độc quyền trong máy cắt đánh giá cơ chế trong vòng lặp bytecode Python. Nói cách khác, nó chạy giữa việc thực thi một mã byte và mã tiếp theo.

Ngoài ra, GC cũng kích hoạt khi cơ chế kiểm tra trình xử lý tín hiệu của CPython được gọi. Điều chỉnh này cho phép thu gom rác định kỳ trong thời gian dài chạy các phần mở rộng C bên ngoài thời gian chạy.

Ra mắt Python 3.12

Python 3.12 giới thiệu một loạt các tính năng và cải tiến thú vị, cách mạng hóa trải nghiệm viết mã cho bạn. Với các thông báo lỗi nâng cao, khả năng đánh máy được cải thiện, hỗ trợ Linux Perf Profiler và bộ sưu tập rác được tối ưu hóa, Python 3.12 trang bị cho bạn các công cụ để viết mã chất lượng cao một cách hiệu quả. Nắm bắt sức mạnh của Python và nâng kỹ năng viết mã của bạn lên một tầm cao mới.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *