Mendapatkan dokumen dari suatu fungsi


184

Saya memiliki fungsi berikut:

def my_func():
    """My docstring is both funny and informative"""
    pass

Bagaimana cara saya mendapatkan akses ke dokumen?


13
Perhatikan bahwa menjalankan Python dengan -OO menghapus dokumen. Jika Anda bermaksud mendistribusikan kode Anda kepada orang lain, perlu diingat bahwa mereka dapat menjalankannya dengan cara itu. Itu akan membuat orang-orang itu benar-benar tidak bahagia jika kode Anda bergantung pada dokumen, tetapi tidak menangkap kasus di mana mereka tidak ada.
DNS

Jawaban:


243

Secara interaktif, Anda dapat menampilkannya dengan

help(my_func)

Atau dari kode Anda dapat mengambilnya

my_func.__doc__

1
BTW: Teknik ini bekerja dengan fungsi builtin serta modul dan kelas (test help () dengan objek juga - mungkin juga berfungsi). Ini membuat shell python Anda menjadi shell bantuan interaktif!
Daren Thomas

3
Pada prompt ipython, Anda dapat melakukan my_func ?? dan itu akan menunjukkan docstring juga.
ronak

1
help (func) memberikan output yang dapat dibaca sementara func .__ doc__ memberikan output inline. Terima kasih atas jawabannya.
imsrgadich

77

Anda juga bisa menggunakan inspect.getdoc. Ini membersihkan __doc__tab dengan menormalkan ke spasi dan kiri menggeser tubuh doc untuk menghapus ruang terkemuka umum.


8

Pada notebook ipython atau jupyter, Anda dapat menggunakan semua cara yang disebutkan di atas, tetapi saya tetap menggunakannya

my_func?

atau

?my_func

untuk ringkasan cepat dari kedua metode tanda tangan dan dokumentasi.

Saya menghindari penggunaan

my_func??

(seperti yang dikomentari oleh @rohan) untuk docstring dan menggunakannya hanya untuk memeriksa kode sumber

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.