Computer >> Máy Tính >  >> Lập trình >> Python

Python Docstrings

Chúng ta có thể nhận xét mã trong chương trình python để hiểu các phần của mã. Nhưng để tìm kiếm các bình luận và các phần khác nhau của bình luận, chúng ta cần sử dụng tìm kiếm (CTL + F) và chúng ta cuộn qua nhiều dòng. Ngoài ra, chúng tôi không có cách ngay lập tức để biết một từ nhất định được liên kết với bao nhiêu phần của mã, v.v. Để giải quyết vấn đề này, chúng tôi có python Docstring truy cập các chuỗi ngay sau định nghĩa của một hàm, mô-đun, lớp hoặc phương thức.

In một chuỗi tài liệu

Thuộc tính __doc__ được tự động liên kết với tên của đối tượng python khi nó được khai báo ngay sau định nghĩa của đối tượng đó. Dưới đây là các ví dụ làm rõ điều đó.

Ví dụ

def Add_nums(x):
   '''Ada a number to itself.'''
   return x + x
print(Add_nums.__doc__)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Ada a number to itself.

Chuỗi tài liệu một dòng so với nhiều dòng

Các docstrings một dòng là một dòng và chúng không được quá mô tả. Chúng được đặt trong dấu ngoặc kép ở đầu và cuối chuỗi. Ví dụ trên là một chuỗi docstring đơn.

Chuỗi tài liệu nhiều dòng

Đôi khi chúng tôi có thể cần mô tả mô-đun hoặc chức năng chi tiết hơn. Trong trường hợp đó, chúng tôi sử dụng chuỗi docstring nhiều dòng. Chúng hiển thị một dòng tóm tắt giống như một chuỗi tài liệu một dòng và sau đó là một dòng trống, theo sau là một mô tả chi tiết hơn.

Ví dụ

def Fibonacci(n):
   '''The Fibonacci numbers are the numbers in the following integer sequence.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, .'''
   return x + x
print(Fibonacci.__doc__)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

The Fibonacci numbers are the numbers in the following integer sequence.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, .

Chuỗi tài liệu của các đối tượng Python được tạo sẵn

Chúng tôi có thể dễ dàng truy cập tài liệu được liên kết với các đối tượng python như hàm, mô-đun, v.v. bằng cách sử dụng tên lớp cùng với __doc__.

Ví dụ

print(list.__doc__)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.

Thụt lề trong Docstrings

Bất kỳ thụt lề nào trong dòng đầu tiên của chuỗi tài liệu (tức là lên đến dòng mới đầu tiên) là không đáng kể và sẽ bị loại bỏ. Thụt lề tương đối của các dòng sau đó trong chuỗi docstring được giữ lại. Toàn bộ chuỗi tài liệu được thụt lề giống như các dấu ngoặc kép ở dòng đầu tiên của nó.