2009-04-03 23 views
114

gelen docstring'ini alma Ben şu fonksiyonu:bir fonksiyonu

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

nasıl docstringe erişebilirim?

+9

Not kontrol etmek yalnızca onu kullanın. Kodunuzu başkalarına dağıtmayı düşünüyorsanız, bu şekilde çalışabileceklerini unutmayın. Kodunuz docstrings'e dayanıyorsa, bu insanları gerçekten çok mutsuz yapacak, ancak var olmadıkları durumu yakalamıyor. – DNS

+1

Bunun için şerefe, bu oldukça yararlı bilgiler. – Teifion

+0

@DNS Teşekkürler, tüm doktorumların neden Yok olduğunu merak ediyordum. – Timo

cevap

157

etkileşimli, sen

help(my_func) 

ile görüntüleyebilir Veya koddan sen de inspect.getdoc kullanabilirsiniz

my_func.__doc__ 
+1

BTW: Bu teknik, modüller ve sınıfların yanı sıra yerleşik işlevler ile de çalışır (nesnelerle test yardımı() da - işe yarayabilir). Bu, python kabuğunuzu interaktif bir yardım kabuğuna dönüştürür! –

+2

ipython isteminde, my_func ?? ve doktora da gösterirdi. – ronak

+3

Python çok çirkin cool – ThorSummoner

56

ile geri alabilirsiniz. Sekmeleri boşluklarla normalize ederek __doc__'yi temizler ve ortak öncü alanları kaldırmak için doc gövdesini sola kaydırır. ipython veya jupyter dizüstü On

+1

Şimdi kendimi yapmaya çalıştığım tam olarak bu. Bunun için teşekkürler. – ereOn

1

, tüm yukarıda belirtilen yollar kullanabilirsiniz, ancak ben yöntem imza ve docstringe hem hızlı bir özet için

my_func? 

veya

?my_func 

ile gitmek.

ben docstringe için (@rohan tarafından yorumladı olarak)

my_func?? 

kullanmaktan kaçınmak ve -OO ile Python çalışan Docstringler çıkarır o kaynak kodunu