Öğretiyi bir işlevden alma


184

Ben aşağıdaki işlevi var:

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

Öğretiye nasıl erişebilirim?


13
Python'u -OO ile çalıştırmanın docstring'leri çıkardığını unutmayın. Kodunuzu başkalarına dağıtmayı düşünüyorsanız, bu şekilde çalıştırabileceklerini unutmayın. Kodunuz doktrinlere dayanıyorsa, bu insanları gerçekten mutsuz hale getirecek, ancak var olmadıkları durumda yakalamıyorlar.
DNS

Yanıtlar:


243

Etkileşimli olarak,

help(my_func)

Veya koddan

my_func.__doc__

1
BTW: Bu teknik, yerleşik işlevlerin yanı sıra modüller ve sınıflarla da çalışır (nesnelerle de test yardımı () - ayrıca işe yarayabilir). Bu, python kabuğunuzu etkileşimli bir yardım kabuğu yapar!
Daren Thomas

3
Ipython komut isteminde, my_func ?? ve doktora gösterecekti.
ronak

1
help (func) okunabilir bir çıktı verirken func .__ doc__ satır içi çıktı verir. Cevap için teşekkürler.
imsrgadich

77

Ayrıca kullanabilirsiniz inspect.getdoc. __doc__Sekmeleri boşluklara normalleştirerek ve ortak önde gelen boşlukları kaldırmak için doktor gövdesini kaydırarak temizler .


8

Ipython veya jupyter dizüstü bilgisayarda, yukarıda belirtilen tüm yolları kullanabilirsiniz, ancak

my_func?

veya

?my_func

hem yöntem imzası hem de doktrin hızlı özeti için.

Kullanmaktan kaçınırım

my_func??

(@rohan tarafından yorumlandığı şekliyle) docstring için kullanın ve yalnızca kaynak kodunu kontrol etmek için kullanın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.