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
Chọn một yếu tố mã
Nhấn Alt+Enter
Chọn Thêm gợi ý loại cho. .
Nhấn Enter để hoàn thành tác vụ hoặc chỉnh sửa loại nếu thích hợp
Thí 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
Thí 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 sơ khai Python để 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 = [] # gõ. 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 đang á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 các PEP được hỗ trợ hay không. 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 Callable
0
Cung cấp giá trị của Callable
1 là Callable
2
Callable
3
Sử dụng sai khóa trong loại Callable
0
Gán các phím như được chỉ định trong định nghĩa loại
Callable
3
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 Callable
6 hoặc Callable
7 để 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 trình thông dịch
Trong ví dụ sau, hãy nhập gợi ý cho Callable
8 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 phiên bản cụ thể của gói sẽ được cài đặt trong hộp thoại Gói khả dụng .
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