在撰寫程式的時候,很多人會有一些撰寫習慣。這些習慣不能說一定是好的或壞的,但確實,很多時候程式碼的難以閱讀就是這些習慣所造成的。 撇除掉取無意義變數名或者是不佳的命名習慣,一個幫助別人理解程式碼的優秀方法是註解,在python中會以#作為開頭: ```python #這是一行註解 ``` 註解本身不影響程式執行速度,僅作為讓其他人理解程式碼的說明。 但當我們有很多東西想說明--比方說告訴大家函式的主要功能是什麼,或者是說明輸入的參數有什麼意義。這種狀況下,說明的文字會不少,而一行一行用註解打顯然有點不便。 因此就輪到本文的主角:DocString登場了。 DocString為python定義的一種內含在程式碼中的文檔,出現在函式、類別或方法的第一個字串,會自動變成DocString: ```python def test(): ''' 這就是所謂的DocString ''' ``` 而這樣使用之後,當我們要存取內部內容的時候可以以物件屬性的方式存取他: ```python test.__doc__ -------------------------------- out: '這就是所謂的DocString' ``` docString除了當一般註解的功能外,在程式裡面可以存取也有人會拿來做一些額外的用途。而一個比較明顯可以觀察到的現象是,許多IDLE在使用函式時會跳出來的一些說明框,內文就是DocString: ![](https://hackmd.io/_uploads/HkZ2aiFa2.png) 當然,他最一開始存在的目的就是提供所謂的程式文件。我想應該不少人有經驗,寫過的程式放個幾個月,回頭再看的時候,心裡的第一句話是「這到底是在寫什麼東東?」 好的程式文檔除了讓自己比較容易回憶當時的演算法,讓別人理解也是重要的目的。很多時候,一個程式不是由自己一個人完成全部部分的,適當的使用DocString,而在關鍵處使用註解,可以增進協作的效率與正確性。