Hướng dẫn do type hints make python faster? - gợi ý về loại có làm cho python nhanh hơn không?
Có thể chú thích chức năng Python và các gợi ý loại (PEP 3107 và PEP 484) có gây ra một số hiệu ứng thời gian chạy không? Show Nó có thể làm cho mã nhanh hơn? Hoặc thu nhỏ việc sử dụng bộ nhớ? Hoặc nếu không thì nó sẽ làm cho mã chậm hơn?
vvvvv 19.4K16 Huy hiệu vàng44 Huy hiệu bạc62 Huy hiệu Đồng16 gold badges44 silver badges62 bronze badges Đã hỏi ngày 17 tháng 1 năm 2017 lúc 8:42Jan 17, 2017 at 8:42
4 Loại gợi ý và chú thích loại cung cấp các thuộc tính (xem Từ PEP 484:
LTWORF 7.0376 Huy hiệu vàng30 Huy hiệu bạc42 Huy hiệu Đồng6 gold badges30 silver badges42 bronze badges Đã trả lời ngày 17 tháng 1 năm 2017 lúc 9:05Jan 17, 2017 at 9:05
Chris_RandsChris_RandsChris_Rands 36.7K13 Huy hiệu vàng79 Huy hiệu bạc111 Huy hiệu đồng13 gold badges79 silver badges111 bronze badges 3 Theo các mục tiêu không phải là các mục tiêu trong tài liệu PEP 484, kiểm tra loại và tối ưu hóa hiệu suất phụ thuộc vào các công cụ của bên thứ ba hoặc để lại cho người lập trình viên. Vì vậy, tóm lại: Không, chúng sẽ không gây ra bất kỳ hiệu ứng thời gian chạy nào, trừ khi bạn sử dụng chúng một cách rõ ràng.
Xeli 2.2421 Huy hiệu vàng19 Huy hiệu bạc24 Huy hiệu đồng1 gold badge19 silver badges24 bronze badges Đã trả lời ngày 17 tháng 1 năm 2017 lúc 8:53Jan 17, 2017 at 8:53
RobrobRob 3,2431 Huy hiệu vàng18 Huy hiệu bạc27 Huy hiệu đồng1 gold badge18 silver badges27 bronze badges 2 Loại gợi ý là các chú thích chỉ định loại giá trị thời gian chạy trong mã Python của bạn. Cái nhìn này được gõ tĩnh, phải không? Điều này đã được chỉ định trong PEP 484 và giới thiệu Python 3.5.Nó trực quan khi nghĩ rằng sẽ có một số cải thiện hiệu suất (tốc độ) trong thời gian chạy vì các ngôn ngữ được đánh máy tĩnh không cần phải kiểm tra kiểu dữ liệu trong thời gian chạy. Đúng? Hãy cùng kiểm tra nào Chúng tôi sẽ sử dụng loạt Fibonacci cổ điển để kiểm tra xem loại gợi ý loại có cải thiện hiệu suất hay không. Fibonacci không có gợi ý loạiSê -ri Fibonacci không có gợi ý loại.Hàm Fibonacci sẽ được gọi là 10.000 lần và hoạt động nối tiếp sẽ được gọi là 10.000 * 100 (thuật ngữ thứ n). Hồ sơ thời gian chạyChương trình đã hoàn thành việc thực hiện trong khoảng 0,705 giây. Fibonacci với loại gợi ýSử dụng cùng một thuật toán nhưng với gợi ý loại. Chương trình đã hoàn thành việc thực hiện trong khoảng 0,708 giây. Thời gian thực hiện rất gần và sự khác biệt có thể được gây ra bởi một số trạng thái CPU.
Tại sao phải loại gợi ý sau đó?Triết lý cốt lõi Python như được tóm tắt trong Zen of Python bao gồm:
Loại gợi ý trong Python sẽ cung cấp nhiều khả năng dễ đọc hơn cho cả công cụ thống kê và người.
Tính dễ đọcBạn có nên sử dụng gợi ý loại trong Python?Trong bài viết xuất sắc của mình, trạng thái của các gợi ý loại trong Python, Bernátbor đề nghị rằng nên sử dụng gợi ý loại của loại bất cứ khi nào các bài kiểm tra đơn vị đáng để viết. Thật vậy, gõ gợi ý đóng một vai trò tương tự như các bài kiểm tra trong mã của bạn: chúng giúp bạn như một nhà phát triển viết mã tốt hơn.type hints should be used whenever unit tests are worth writing.” Indeed, type hints play a similar role as tests in your code: they help you as a developer write better code.
Việc gõ có tăng tốc độ python không?Vì vậy, tóm lại: Không, chúng sẽ không gây ra bất kỳ hiệu ứng thời gian chạy nào, trừ khi bạn sử dụng chúng một cách rõ ràng.no, they will not cause any run-time effects, unless you explicitly make use of them.
Các gợi ý loại có được thi hành trong Python không?Gợi ý loại được thực hiện bằng cách sử dụng các chú thích Python (được giới thiệu từ PEP 3107).Chúng được sử dụng để thêm các loại vào các biến, tham số, đối số hàm cũng như các 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.these are only hints and are not enforced on their own.
Python 3.6 có hỗ trợ loại gợi ý không?Mô -đun này hỗ trợ các gợi ý loại theo quy định của PEP 484 và PEP 526. Hỗ trợ cơ bản nhất bao gồm các loại, Union, Tuple, Callable, Typevar và Generic.Để biết thông số kỹ thuật đầy đủ, vui lòng xem PEP 484.. The most fundamental support consists of the types Any , Union , Tuple , Callable , TypeVar , and Generic . For full specification please see PEP 484. |