Hướng dẫn python docstring vs type hints - python docstring so với gợi ý về loại
TL; DR: Sử dụng chú thích loại, chúng thật tuyệt vời. Show
Đối với cả Python và Docstrings chỉ đơn giản được chuyển đổi thành chuỗi Python và được lưu trữ trong thuộc tính Loại chú thích (PEP 484, ví dụ:
Những chú thích này rõ ràng cũng sử dụng một số không gian (nhưng thậm chí ít hơn các tài liệu). Tuy nhiên, chúng không có ảnh hưởng đến việc thực hiện thời gian chạy (ngoại trừ nếu bạn chơi rõ ràng với Tôi sẽ khuyên bạn nên sử dụng các chú thích loại. Chúng đã được giới thiệu, vì phân tích/IDE tĩnh và chắc chắn là tương lai khi nói đến việc ghi lại các loại của bạn. Cũng có rất nhiều công việc hạnh phúc trên Cập nhật lần cuối vào ngày 21 tháng 6 năm 2022 Mã nguồn của một chương trình nên có thể đọc được cho con người. Làm cho nó chạy chính xác chỉ là một nửa mục đích của nó. Nếu không có một mã nhận xét đúng đắn, sẽ rất khó cho một người, bao gồm cả tương lai bạn, để hiểu được lý do và ý định đằng sau mã. Nó cũng sẽ làm cho mã không thể duy trì. Trong Python, có nhiều cách để thêm các mô tả vào mã để làm cho nó dễ đọc hơn hoặc làm cho ý định rõ ràng hơn. Sau đây, chúng ta sẽ thấy cách chúng ta nên sử dụng đúng bình luận, tài liệu và gõ gợi ý để làm cho mã của chúng ta dễ hiểu hơn. Sau khi hoàn thành hướng dẫn này, bạn sẽ biết:
Bắt đầu dự án của bạn với cuốn sách mới Python for Machine Learning, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python cho tất cả các ví dụ. with my new book Python for Machine Learning, including step-by-step tutorials and the Python source code files for all examples. Bắt đầu nào.Nhận xét, tài liệu và gõ gợi ý trong mã Python. Ảnh của Rhythm Gidel. Một số quyền được bảo lưu Tổng quanHướng dẫn này là trong ba phần, chúng là:
Hầu như tất cả các ngôn ngữ lập trình đều có cú pháp chuyên dụng cho các bình luận. Nhận xét sẽ bị bỏ qua bởi các trình biên dịch hoặc phiên dịch viên, và do đó chúng không có tác dụng đối với luồng lập trình hoặc logic. Nhưng với ý kiến, dễ đọc mã hơn. Trong các ngôn ngữ như C ++, chúng ta có thể thêm các bình luận nội tuyến trực tiếp với một dấu gạch chéo kép hàng đầu ( Nó khá dễ dàng để viết bình luận để giải thích mọi dòng mã, nhưng đó thường là một sự lãng phí. Khi mọi người đọc mã nguồn, các bình luận thường dễ dàng thu hút sự chú ý của họ và do đó đặt quá nhiều bình luận sẽ làm mất tập trung việc đọc. Ví dụ, những điều sau đây là không cần thiết và mất tập trung:
Nhận xét như thế này chỉ đơn thuần là lặp lại những gì mã làm. Trừ khi mã bị che khuất, những bình luận này không thêm giá trị cho mã. Ví dụ dưới đây có thể là một trường hợp cận biên trong đó tên là PP PPF (hàm điểm phần trăm) ít được biết đến so với thuật ngữ CDF CDF (hàm phân phối tích lũy):
Nhận xét tốt nên cho biết lý do tại sao chúng tôi đang làm điều gì đó. Hãy cùng nhìn vào ví dụ sau:
Hàm trên đang thực hiện thuật toán Adadelta. Trong dòng đầu tiên, khi chúng tôi gán một cái gì đó cho biến Một vấn đề quan trọng mà chúng tôi muốn nhớ khi viết nhận xét hoặc sửa đổi mã là đảm bảo nhận xét mô tả chính xác mã. Nếu họ mâu thuẫn, nó sẽ gây nhầm lẫn cho độc giả. Vì vậy, chúng ta không nên đặt nhận xét vào dòng đầu tiên của ví dụ trên để đặt giải pháp ban đầu cho phần dưới của LowerBound trong khi mã rõ ràng ngẫu nhiên giải pháp ban đầu hoặc ngược lại. Nếu đây là những gì bạn dự định làm, bạn nên cập nhật nhận xét và mã cùng một lúc. Một ngoại lệ sẽ là những bình luận của người khác. Thỉnh thoảng, khi chúng tôi có ý tưởng về cách cải thiện mã nhưng chưa thay đổi nó, chúng tôi có thể đưa ra nhận xét để làm về mã. Chúng tôi cũng có thể sử dụng nó để đánh dấu việc triển khai không đầy đủ. Ví dụ,
Đây là một thông lệ phổ biến và nhiều IDE sẽ làm nổi bật khối bình luận khác nhau khi từ khóa Tóm lại, một số thực tiễn tốt nhất của người Viking về mã nhận xét được liệt kê như sau:
Sử dụng DocstringsTrong C ++, chúng ta có thể viết một khối lớn các bình luận như sau:
Nhưng trong Python, chúng tôi không có tương đương với Delimit ____ 10 & nbsp; và & nbsp;
Điều này hoạt động bởi vì Python hỗ trợ tuyên bố một chuỗi theo nghĩa đen trải dài trên nhiều dòng nếu nó được phân định bằng dấu ngoặc kép ba ( Một lý do chúng tôi muốn sử dụng chuỗi chữ là để nhận xét một khối mã lớn. Ví dụ,
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Trọng lượng = [0,01, 0,05, 0,94], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; class_sep = 0.8, Random_state = 0)
bình phương def (x):
in ("Tên chức năng:", Square .__ Name__) Tên chức năng: vuông Không có cách làm tiêu chuẩn để tạo tài liệu, nhưng nói chung, chúng tôi hy vọng họ sẽ giải thích mục đích của một hàm (hoặc một lớp hoặc mô -đun) cũng như các đối số và các giá trị trả về. Một phong cách phổ biến giống như ở trên, được Google ủng hộ. Một phong cách khác là từ Numpy:
Các công cụ như AutoDoc có thể phân tích các tài liệu này và tạo tài liệu API. Nhưng ngay cả khi đó không phải là mục đích, có một tài liệu mô tả bản chất của hàm, các loại dữ liệu của các đối số hàm và giá trị trả về chắc chắn có thể giúp mã của bạn dễ đọc hơn. Điều này đặc biệt đúng vì Python, không giống như C ++ hoặc Java, là ngôn ngữ gõ vịt trong đó các biến và đối số chức năng không được khai báo với một loại cụ thể. Chúng tôi có thể sử dụng các tài liệu để đánh vần các giả định của kiểu dữ liệu để mọi người có thể dễ dàng theo dõi hoặc sử dụng chức năng của bạn hơn.duck-typing language in which variables and function arguments are not declared with a particular type. We can
make use of docstrings to spell out the assumptions of the data type so people can more easily follow or use your function. Bạn muốn bắt đầu với Python để học máy?Tham gia khóa học gặp sự cố email 7 ngày miễn phí của tôi ngay bây giờ (với mã mẫu). Nhấp để đăng ký và cũng nhận được phiên bản Ebook PDF miễn phí của khóa học. Sử dụng các gợi ý loại trong mã PythonVì Python 3.5, loại cú pháp gợi ý loại được cho phép. Như tên gọi, mục đích của nó là gợi ý về loại và không có gì khác. Do đó, ngay cả khi nó có vẻ đưa Python đến gần Java hơn, điều đó không có nghĩa là hạn chế dữ liệu được lưu trữ trong một biến. Ví dụ trên có thể được viết lại bằng một gợi ý loại:
Các công cụ như AutoDoc có thể phân tích các tài liệu này và tạo tài liệu API. Nhưng ngay cả khi đó không phải là mục đích, có một tài liệu mô tả bản chất của hàm, các loại dữ liệu của các đối số hàm và giá trị trả về chắc chắn có thể giúp mã của bạn dễ đọc hơn. Điều này đặc biệt đúng vì Python, không giống như C ++ hoặc Java, là ngôn ngữ gõ vịt trong đó các biến và đối số chức năng không được khai báo với một loại cụ thể. Chúng tôi có thể sử dụng các tài liệu để đánh vần các giả định của kiểu dữ liệu để mọi người có thể dễ dàng theo dõi hoặc sử dụng chức năng của bạn hơn.
& nbsp; & nbsp; & nbsp; & nbsp; value: int = x *x Lợi ích của một gợi ý loại là gấp đôi: chúng ta có thể sử dụng nó để loại bỏ một số nhận xét nếu chúng ta cần mô tả rõ ràng loại dữ liệu đang được sử dụng. Chúng tôi cũng có thể giúp các máy phân tích tĩnh hiểu mã của chúng tôi tốt hơn để chúng có thể giúp xác định các vấn đề tiềm năng trong mã.
Bạn muốn bắt đầu với Python để học máy?
Nhấp để đăng ký và cũng nhận được phiên bản Ebook PDF miễn phí của khóa học.
Trong một hàm, các đối số có thể được theo sau bởi A & nbsp; ________ 19 & nbsp; cú pháp để đánh vần các loại & nbsp; dự định & nbsp; Giá trị trả về của một hàm được xác định bởi & nbsp; ____ ____ 20 cú pháp trước đại tràng. Trên thực tế, một gợi ý loại cũng có thể được khai báo cho các biến, ví dụ: & nbsp; & nbsp; & nbsp; & nbsp; value: int = x *x Lợi ích của một gợi ý loại là gấp đôi: chúng ta có thể sử dụng nó để loại bỏ một số nhận xét nếu chúng ta cần mô tả rõ ràng loại dữ liệu đang được sử dụng. Chúng tôi cũng có thể giúp các máy phân tích tĩnh hiểu mã của chúng tôi tốt hơn để chúng có thể giúp xác định các vấn đề tiềm năng trong mã.
đọc thêmPhần này cung cấp nhiều tài nguyên hơn về chủ đề nếu bạn đang muốn đi sâu hơn. Bài viết
Phần mềm
Bản tóm tắtTrong hướng dẫn này, bạn đã thấy cách chúng ta nên sử dụng các bình luận, tài liệu và gõ gợi ý trong Python. Cụ thể, bây giờ bạn đã biết:
Nhận một xử lý trên Python để học máy!Tự tin hơn để viết mã trong Python... Từ việc học các thủ thuật trăn thực tế Khám phá cách trong ebook mới của tôi: Python cho học máy Nó cung cấp các hướng dẫn tự học với hàng trăm mã làm việc để trang bị cho bạn các kỹ năng bao gồm: gỡ lỗi, hồ sơ, gõ vịt, trang trí, triển khai, và nhiều hơn nữa ...self-study tutorials with hundreds of working code to equip you with skills including: Hiển thị cho bạn hộp công cụ Python ở mức cao cho các dự án của bạn |