Gợi ý loại lớp Python

DataSpell 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. DataSpell 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ù DataSpell hỗ trợ tất cả các phương pháp để thêm các 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 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, DataSpell đề 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, DataSpell 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 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í. DataSpell 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

DataSpell hỗ trợ các tệp sơ khai Python

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, DataSpell 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. DataSpell 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

Loại gợi ý trong Python là gì?

Gợi ý loại được thực hiện bằng chú thích Python [được giới thiệu từ PEP 3107]. Chúng được sử dụng để thêm kiểu vào biến, tham số, đối số hàm cũng như giá trị trả về, thuộc tính lớp và phương thức của chúng . Thêm gợi ý loại không có hiệu ứng thời gian chạy. đây chỉ là những gợi ý và không được thực thi trên chính chúng.

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

Python sẽ luôn là ngôn ngữ được gõ động. Tuy nhiên, PEP 484 đã giới thiệu các gợi ý về kiểu, cho phép thực hiện kiểm tra kiểu tĩnh của mã Python. Không giống như cách thức hoạt động của các loại trong hầu hết các ngôn ngữ nhập tĩnh khác, bản thân các gợi ý nhập không khiến Python thực thi các loại .

Bạn có thể chỉ định loại trong Python không?

Python là một ngôn ngữ động được gõ mạnh trong đó chúng ta không phải chỉ định kiểu dữ liệu của giá trị trả về của hàm và đối số của hàm. Nó liên kết loại với các giá trị thay vì tên. Cách duy nhất để chỉ định loại dữ liệu cụ thể là cung cấp loại dữ liệu rõ ràng trong khi gọi hàm .

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 . Cpython 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.

Chủ Đề