华南俳烁实业有限公司

python

當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

Python__doc__屬性:查看文檔

來源:中華考試網(wǎng)  [2020年10月28日]  【

  在使用 dir() 函數(shù)和 __all__ 變量的基礎(chǔ)上,雖然我們能知曉指定模塊(或包)中所有可用的成員(變量、函數(shù)和類),比如:

  import stringprint(string.__all__)

  程序執(zhí)行結(jié)果為:

  ['ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace', 'Formatter', 'Template']

  但對于以上的輸出結(jié)果,對于不熟悉 string 模塊的用戶,還是不清楚這些名稱分別表示的是什么意思,更不清楚各個成員有什么功能。

  針對這種情況,我們可以使用 help() 函數(shù)來獲取指定成員(甚至是該模塊)的幫助信息。以前面章節(jié)創(chuàng)建的 my_package 包為例,該包中包含 __init__.py 、module1.py 和 module2.py 這 3 個模塊,它們各自包含的內(nèi)容分別如下所示:

  #***__init__.py 文件中的內(nèi)容***from my_package.module1 import *from my_package.module2 import *#***module1.py 中的內(nèi)容***#module1.py模塊文件def display(arc): ''' 直接輸出指定的參數(shù) ''' print(arc)#***module2.py中的內(nèi)容***#module2.py 模塊文件class CLanguage: ''' CLanguage是一個類,其包含: display() 方法 ''' def display(self): print("http://c.biancheng.net/python/")

  現(xiàn)在,我們先借助 dir() 函數(shù),查看 my_package 包中有多少可供我們調(diào)用的成員:

  import my_packageprint([e for e in dir(my_package) if not e.startswith('_')])

  程序輸出結(jié)果為:

  ['CLanguage', 'display', 'module1', 'module2']

  通過此輸出結(jié)果可以得知,在 my_package 包中,有以上 4 個成員可供我們使用。接下來,我們使用 help() 函數(shù)來查看這些成員的具體含義(以 module1 為例):

  import my_packagehelp(my_package.module1)

  輸出結(jié)果為:

  Help on module my_package.module1 in my_package:

  NAME

  my_package.module1 - #module1.py模塊文件

  FUNCTIONS

  display(arc)

  直接輸出指定的參數(shù)

  FILE

  c:\users\mengma\desktop\my_package\module1.py

  通過輸出結(jié)果可以得知,module1 實際上是一個模塊文件,其包含 display() 函數(shù),該函數(shù)的功能是直接輸出指定的 arc 參數(shù)。同時,還顯示出了該模塊具體的存儲位置。

  當(dāng)然,有興趣的讀者還可以嘗試運(yùn)行如下幾段代碼:

  #輸出 module2 成員的具體信息help(my_package.module2)#輸出 display 成員的具體信息help(my_package.module1.display)#輸出 CLanguage 成員的具體信息help(my_package.module2.CLanguage)

  值得一提的是,之所以我們可以使用 help() 函數(shù)查看具體成員的信息,是因為該成員本身就包含表示自身身份的說明文檔(本質(zhì)是字符串,位于該成員內(nèi)部開頭的位置)。前面講過,無論是函數(shù)還是類,都可以使用 __doc__ 屬性獲取它們的說明文檔,模塊也不例外。

  以 my_package 包 module1 模塊中的 display() 函數(shù)為例,我們嘗試用 __doc__ 變量獲取其說明文檔:

  import my_packageprint(my_package.module1.display.__doc__)

  程序執(zhí)行結(jié)果為:

  直接輸出指定的參數(shù)

  其實,help() 函數(shù)底層也是借助 __doc__ 屬性實現(xiàn)的。

責(zé)編:fushihao
  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
忻城县| 张家口市| 鄯善县| 苗栗市| 东辽县| 灵武市| 平原县| 靖西县| 湖州市| 许昌市| 隆尧县| 行唐县| 襄樊市| 湘西| 巴彦县| 澄城县| 沧州市| 会理县| 大连市| 九龙县| 九龙城区| 盖州市| 新密市| 夏邑县| 海南省| 天等县| 舟山市| 嘉善县| 日照市| 交城县| 张家川| 思茅市| 华蓥市| 焦作市| 乌兰察布市| 额济纳旗| 澳门| 长岭县| 长丰县| 竹北市| 和顺县|