Gợi ý loại thực thi Python

PyCharm cung cấp nhiều phương tiện khác nhau để hỗ trợ kiểm tra và kiểm tra các loại đối tượng trong tập lệnh của bạn. PyCharm hỗ trợ gợi ý loại trong chú thích chức năng và nhập nhận xét bằng cách sử dụng mô-đun typing và định dạng được xác định bởi PEP 484

Thêm gợi ý loại

Mặc dù PyCharm hỗ trợ tất cả các phương pháp thêm loại được hỗ trợ trong PEP 484, nhưng sử dụng gợi ý loại thông qua các hành động có ý định là cách thuận tiện nhất. Tùy thuộc vào trình thông dịch bạn sử dụng, loại được thêm dưới dạng chú thích [Python 3] hoặc dưới dạng nhận xét [Python 2]

Để thêm gợi ý loại, hãy làm theo các bước sau

  1. Chọn một yếu tố mã

  2. Nhấn Alt+Enter

  3. Chọn Thêm gợi ý loại cho. .

  4. Nhấn Enter để hoàn thành tác vụ hoặc chỉnh sửa loại nếu thích hợp

Ví dụ

Ý định hành động

Mã kết quả cho chú thích [Python 3]

Biến

Chức năng

Thuộc tính lớp

Ví dụ

Ý định hành động

Mã kết quả cho nhận xét [Python 2]

Biến

Chức năng

Thuộc tính lớp

Bạn cũng có thể sử dụng để chỉ định các loại biến, hàm và trường lớp

Chuyển đổi nhận xét

Đối với gợi ý loại dựa trên nhận xét, PyCharm đề xuất một hành động có ý định cho phép bạn chuyển đổi gợi ý loại dựa trên nhận xét thành chú thích biến. Ý định này có tên Chuyển thành chú thích biến và hoạt động như sau.

Tính năng này có sẵn trong Python 3

Trước

Sau đó

từ nhập Danh sách nhập, Tùy chọn xs = [] # loại. Danh sách[Tùy chọn[str]]

từ nhập Danh sách nhập, Tùy chọn xs. Danh sách[Tùy chọn[str]] = []

Nhập gợi ý xác thực

Bất cứ khi nào bạn áp dụng các gợi ý về loại, PyCharm sẽ kiểm tra xem loại đó có được sử dụng đúng theo. Nếu có lỗi sử dụng, cảnh báo tương ứng sẽ được hiển thị và đề xuất hành động được đề xuất. Dưới đây là các ví dụ xác thực

Lỗi xác nhận

hành động được đề xuất

Sao chép khai báo kiểu

Loại bỏ một trong hai khai báo kiểu

Số lượng đối số trong khai báo kiểu khác với số lượng đối số của hàm

Điều chỉnh số lượng đối số

Nhập nhận xét với giải nén không khớp với các mục tiêu tương ứng

Kiểm tra định dạng đích và sửa đổi loại nhận xét cho phù hợp

Cú pháp sai của tham số Callable

Sử dụng định dạng được đề xuất và thêm dấu ngoặc bắt buộc để bọc thông số Callable

Loại không mong muốn trong biểu thức gán

Căn chỉnh các loại để khớp với mẫu dự kiến

Gán giá trị cho biến Final

Bạn không thể thay đổi một biến được chú thích là Final. Cân nhắc thay đổi loại biến

Kế thừa một lớp được chú thích là Final

Bạn không thể kế thừa một lớp có chú thích Final. Cân nhắc tạo một lớp học khác

Ghi đè một phương thức được trang trí bằng @final

Bạn không thể ghi đè một phương thức được trang trí bằng @final. Xem xét việc xác định một phương pháp khác

Loại đối số hàm không chính xác

Truyền từ điển cho hàm foo[] thay vì danh sách

Gán sai loại giá trị cho khóa trong loại Callable0

Cung cấp giá trị của Callable1 là Callable2

Callable3

Sử dụng sai khóa trong loại Callable0

Gán các phím như được chỉ định trong định nghĩa loại

Callable3

Sử dụng sai chức năng trang trí. PyCharm xác thực các loại chức năng được trang trí dựa trên các loại trình trang trí của chúng

Sửa đổi trình trang trí hoặc câu lệnh sử dụng hàm trả về theo yêu cầu

Bạn có thể thêm nhận xét Callable6 hoặc Callable7 để chặn cảnh báo xác thực loại hoặc bỏ qua câu lệnh nhập bị thiếu

sơ khai Python

Bạn có thể sử dụng tệp sơ khai Python để chỉ định gợi ý loại bằng cú pháp Python 3. Những gợi ý đó sẽ có sẵn trong các tệp Python của bạn bất kể phiên bản Python nào được sử dụng trong

Trong ví dụ sau, hãy nhập gợi ý cho Callable8 từ tệp sơ khai [ stub. pyi ] có sẵn trong tệp Python [ sơ khai. py ].

Nếu bạn đang sử dụng gói phát hiện thấy tương tự sơ khai, thông báo sau sẽ xuất hiện

Bạn có thể cài đặt gói sơ khai, bỏ qua thông báo này và tiếp tục làm việc với gói hiện được cài đặt hoặc tắt loại kiểm tra này trong dự án Cài đặt/Tùy chọn.

Khi bạn chọn cài đặt gói, PyCharm sẽ cố gắng cài đặt phiên bản mới nhất hiện có của gói sơ khai. Nếu nó không tương thích với gói non-stub đang sử dụng, quá trình cài đặt sẽ bị chấm dứt

Bạn có thể chỉ định một gói cụ thể sẽ được cài đặt trong hộp thoại Gói có sẵn .

Sử dụng Typeshed

Typeshed là một tập hợp các tệp có chú thích kiểu cho thư viện Python tiêu chuẩn và các gói khác nhau. Sơ khai được đánh máy cung cấp các định nghĩa cho các lớp, hàm và mô-đun Python được xác định bằng gợi ý kiểu. PyCharm sử dụng thông tin này để hoàn thành mã tốt hơn, kiểm tra và các tính năng hiểu biết mã khác

Python có thực thi các gợi ý kiểu không?

Mới trong phiên bản 3. 5. Thời gian chạy Python không thực thi các chú thích kiểu hàm và biến . Chúng có thể được sử dụng bởi các công cụ của bên thứ ba như trình kiểm tra loại, IDE, linters, v.v.

Type_checking trong Python là gì?

Việc kiểm tra kiểu của loại biến được thực hiện trong thời gian chạy . Ngoài ra, hệ thống loại của ngôn ngữ không bắt buộc phải khai báo rõ ràng 'kiểu dữ liệu' của biến trước khi sử dụng. Các ngôn ngữ lập trình được gõ động là. Python, Javascript, Ruby, v.v.

Gợi ý kiểu có làm cho Python nhanh hơn không?

Không có ảnh hưởng nào đến hiệu suất dù có hay không có gợi ý loại . Python bỏ qua các gợi ý loại tương tự như cách bình luận bị loại bỏ trong thời gian chạy.

Python có thể được gõ tĩnh không?

Có hai loại ngôn ngữ lập trình. Ngôn ngữ gõ tĩnh và gõ động. Python là ngôn ngữ được gõ động . Bạn không cần phải chỉ định rõ ràng kiểu dữ liệu của các biến. Điều này cũng đúng với các chức năng. Bạn không cần phải chỉ định loại đối số hoặc kiểu trả về của hàm.

Chủ Đề