Pydoc

pydoc是python自帶的一個(gè)文檔生成工具,使用pydoc可以很方便的查看類和方法結(jié)構(gòu),pydoc模塊可以從python代碼中獲取docstring,然后生成幫助信息。

pydoc是Python自帶的模塊然眼,主要用于從python模塊中自動(dòng)生成文檔,這些文檔可以基于文本呈現(xiàn)的幔欧、也可以生成WEB頁面的罪治,還可以在服務(wù)器上以瀏覽器的方式呈現(xiàn)!

python -m pydoc -p 1234 ? ??在本地機(jī)器上礁蔗,按照給定的端口啟動(dòng)HTTP

一觉义、查看文檔的方法

方法1:啟動(dòng)本地服務(wù),在web上查看文檔

python3 -m pydoc -p 1234

通過http://localhost:1234來訪問查看文檔

說明:

1浴井、-p指定啟動(dòng)的服務(wù)的端口號晒骇,可以隨意指定不沖突的端口號

2、只有在自建的工程根目錄下使用該命令,才能看到當(dāng)前工程下所有的內(nèi)容洪囤,否則只能看到python環(huán)境變量下的模塊內(nèi)容

3徒坡、如果本地只有一個(gè)python,可以直接使用【pydoc -p 端口號】啟動(dòng)瘤缩,但因?yàn)槲冶镜赜衟ython2和python3喇完,所以指定了用python3

方法2:直接查看某個(gè)py文件的內(nèi)容

例子:新建了一個(gè)py文件叫做testpydoc.py,進(jìn)入testpydoc.py所在目錄

python3 -m pydoc testpydoc

方法三:生成html說明文檔

例子:新建了一個(gè)py文件叫做testpydoc.py剥啤,進(jìn)入testpydoc.py所在目錄

python3 -m pydoc -w?testpydoc

會默認(rèn)將當(dāng)前目錄下的testpydoc生成一個(gè)叫做testpydoc.html的文檔锦溪,如果是目錄直接【python3 -m pydoc -w 目錄名】生成文檔

說明:如果是將整個(gè)目錄生成這種格式,不建議用這種方式府怯,因?yàn)槿绻故灸夸浵碌淖游募恼f明時(shí)刻诊,會去子目錄下找對應(yīng).html文件,如果文件不存在牺丙,就會404

方法四:-k查找模塊

py通過-k查找模塊则涯,會在當(dāng)前工程目錄以及python環(huán)境變量目錄下查找包含關(guān)鍵詞的模塊信息?

【python3 -m pydoc -k 關(guān)鍵詞】

例如如下命令:

python3 -m pydoc -k? testpydoc

結(jié)果如下:

testpydoc - @author 每天1990

二、html文檔說明?

通過查看文檔的方法冲簿,我們可以看到在html的文檔主要分成四部分:py文件的頂部注釋粟判、Classes、Functions民假、Data

(示例代碼見結(jié)尾部分)

第一部分:模塊的文檔說明浮入,展示模塊頂部的多行注釋

注釋內(nèi)如果包含了模塊文件內(nèi)的class名龙优,或方法名()羊异,則顯示藍(lán)色,且可以點(diǎn)擊跳轉(zhuǎn)到對應(yīng)說明位置

第二部分:classes彤断,展示class以及class下的function

1.只能展示class下的注釋野舶,不會展示class下方法的注釋

2.class上面有#注釋時(shí),展示#號的注釋

3.class下有”””多行注釋”””時(shí)優(yōu)先展示多行注釋宰衙,就不展示頂部的#號的注釋了

need-to-insert-img

第三部分:function平道,模塊下的def方法,不是class中的方法

1.function上面有#注釋時(shí)供炼,展示#號的注釋

2.function下有”””多行注釋”””時(shí)優(yōu)先展示多行注釋一屋,就不展示頂部的#號的注釋了

第四部分:data,模塊下直接定義的變量袋哼,不是function或class的變量

示例代碼:

"""

@author?每天1990

@desc?本模塊是一個(gè)測試文件冀墨,用來說明pydoc的讀取內(nèi)容

@date?2017/4/13

說明:

classes:testclass(),具有function1()和function2()兩個(gè)方法

function:test1()涛贯,test2()诽嘉,test3()

Data:a,b

"""

#注釋放在方法名前,使用#號注釋

def?test1(a):

print("注釋放在方法名前")

#注釋放在方法名前虫腋,使用#號注釋

def?test2():

"""

注釋放在方法內(nèi)的第一行骄酗,既有#號又有多行注釋時(shí),優(yōu)先展示多行注釋

"""

print("既有#號又有多行注釋時(shí)悦冀,優(yōu)先展示多行注釋?")

def?test3():

#在方法第一行內(nèi)使用#注釋

print("在方法內(nèi)使用#號注釋趋翻,不生效")

class?testclass():

"""

注釋生效順序與方法一致,優(yōu)先展示類下的多行注釋盒蟆,如果沒有才展示類上面的#號注釋

類下的方法的注釋不會展示出來

"""

def?function1(self):#類下方法的注釋不會展示

print("類下的第一個(gè)方法")

def?function2(self,a):

print("類下的第二個(gè)參數(shù)嘿歌,包含a參數(shù)")

a=1#變量的注釋不會展示出來

b=2

三、注釋方法

通過上面的文檔說明茁影,我們可以合理的注釋宙帝,有助于了解工程結(jié)構(gòu)

python的注釋方法有兩種:

1.單行注釋:使用#號進(jìn)行注釋

#單行注釋

2.多行注釋:使用三個(gè)雙引號或單引號來注釋多行內(nèi)容

'''

單引號進(jìn)行多行注釋

'''

"""

雙引號進(jìn)行多行注釋

"""

pydoc注釋展示策略:

在functions和classes前面加#注釋,或者在function和class第一行內(nèi)加三個(gè)單引號或三個(gè)雙引號進(jìn)行注釋

如果有三個(gè)引號的注釋方法募闲,會優(yōu)先使用三個(gè)點(diǎn)的注釋步脓,其次才展示#號的注釋

注意:如果在方法或class定義后第一行使用#注釋是拉取不到注釋的

例子1:class前有#號注釋,class內(nèi)有多行注釋浩螺,pydoc會優(yōu)先展示三個(gè)點(diǎn)內(nèi)的注釋


例子2:方法內(nèi)使用#號注釋靴患,pydoc不會顯示注釋內(nèi)容(class同理)

例子3:方法或class沒有多行注釋,只在方法外有#號注釋時(shí)要出,會展示定義前的#號內(nèi)的內(nèi)容

例子4:模塊頂部的內(nèi)容鸳君,優(yōu)先展示多行注釋中的內(nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市患蹂,隨后出現(xiàn)的幾起案子或颊,更是在濱河造成了極大的恐慌,老刑警劉巖传于,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囱挑,死亡現(xiàn)場離奇詭異,居然都是意外死亡沼溜,警方通過查閱死者的電腦和手機(jī)平挑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來系草,“玉大人通熄,你說我怎么就攤上這事≌叶迹” “怎么了唇辨?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長檐嚣。 經(jīng)常有香客問我助泽,道長啰扛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任嗡贺,我火速辦了婚禮隐解,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诫睬。我一直安慰自己煞茫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布摄凡。 她就那樣靜靜地躺著续徽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亲澡。 梳的紋絲不亂的頭發(fā)上钦扭,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天,我揣著相機(jī)與錄音床绪,去河邊找鬼客情。 笑死,一個(gè)胖子當(dāng)著我的面吹牛癞己,可吹牛的內(nèi)容都是我干的膀斋。 我是一名探鬼主播,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼痹雅,長吁一口氣:“原來是場噩夢啊……” “哼仰担!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绩社,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤摔蓝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后铃将,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體项鬼,經(jīng)...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年劲阎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸠真。...
    茶點(diǎn)故事閱讀 38,637評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡悯仙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吠卷,到底是詐尸還是另有隱情锡垄,我是刑警寧澤,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布祭隔,位于F島的核電站货岭,受9級特大地震影響路操,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜千贯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一屯仗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧搔谴,春花似錦魁袜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芜果,卻和暖如春鞠呈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背右钾。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工粟按, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人霹粥。 一個(gè)月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓灭将,卻偏偏與公主長得像,于是被迫代替她去往敵國和親后控。 傳聞我的和親對象是個(gè)殘疾皇子庙曙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,500評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 模塊和包 一 模塊 1 什么是模塊捌朴? 常見的場景:一個(gè)模塊就是一個(gè)包含了python定義和聲明的文件,文件名就是...
    go以恒閱讀 2,263評論 0 4
  • 包(lib)张抄、模塊(module) 在Python中砂蔽,存在包和模塊兩個(gè)常見概念。 模塊:編寫Python代碼的py...
    清清子衿木子水心閱讀 3,801評論 0 27
  • 近期在做一個(gè)團(tuán)隊(duì)項(xiàng)目署惯,產(chǎn)生大量的函數(shù)與類左驾,不好查找也不好團(tuán)隊(duì)使用,最原生的python代碼文檔格式查閱困難极谊,所以就...
    綿延三生三世閱讀 736評論 0 1
  • 章小慧拎著袋子跟著周斌上了火車诡右,她要給他送行。袋子里有水果轻猖、八寶粥帆吻、面包,還有其它吃喝的東西咙边,這都是章小慧特意從超...
    麥兜爸比閱讀 398評論 0 6
  • 一家面館猜煮,如果菜色和味道都平平無奇次员,卻獲眾人交口稱贊,那么我便會對其懷疑王带,他的菜里是不是加了太多的味精淑蔚,以致于麻痹...
    林帥閱讀 382評論 0 1