1、編寫注意
(1)給函數(shù)指定描述名。
(2)函數(shù)名稱只包括小寫字母和下劃線。
(3)每一個(gè)函數(shù)都應(yīng)該包含簡(jiǎn)要說明其功能的注釋,注釋應(yīng)該緊跟在函數(shù)定義之后,并且采用文檔字符串格式。
2、給形參指定默認(rèn)值時(shí),等號(hào)兩側(cè)不得有空格
def function_name(parameter_0, parameter_1='default value')
3、如果程序或模塊包含多個(gè)函數(shù),可以使用兩個(gè)空行將相鄰函數(shù)分開,這樣更容易知道前一個(gè)函數(shù)在哪里結(jié)束,下一個(gè)函數(shù)從哪里開始。
function_name(value_0, parameter_1='value')
對(duì)于函數(shù)調(diào)用中的關(guān)鍵字實(shí)參,也應(yīng)遵循所有import句子都應(yīng)該放在文件開頭。唯一的例外是,在文件開頭使用注釋來描述整個(gè)程序。
知識(shí)點(diǎn)擴(kuò)展:
1.代碼復(fù)用的第一步就是使用函數(shù)。
2.一個(gè)函數(shù)可以接受任何數(shù)量(包括0)的任何類型的值最為輸入變量,并且返回任何數(shù)(包括0)的任何類型的結(jié)果。
3.Python中的一切都是對(duì)象,包括字符串、數(shù)字、元祖、列表、字典和函數(shù)。
4.調(diào)用Python函數(shù)help()可以打印輸出一個(gè)函數(shù)函數(shù)的參數(shù)列表和規(guī)范文檔。如果僅僅是想要得到文檔的字符串可以用doc。
5.可以把函數(shù)作為函數(shù)的參數(shù),函數(shù)也可以作為列表、元組、集合、和字典的元素。函數(shù)名是不可變得,因此可以把函數(shù)用作字典的鍵。Python的函數(shù)式一級(jí)對(duì)象,也就是說,我們可以直接引用函數(shù)把函數(shù)當(dāng)成參數(shù)傳給其他函數(shù),并通過表達(dá)式及if語句對(duì)其進(jìn)行比較和判斷。
6.閉包是一個(gè)可以由另一個(gè)函數(shù)動(dòng)態(tài)生成的函數(shù),并且可以改變和存儲(chǔ)函數(shù)外創(chuàng)建的變量的值。(也可以說閉包是一個(gè)定義在某個(gè)作用域中的函數(shù),這種函數(shù)引用了那個(gè)作用域里的變量。)
7.Python使用特殊的規(guī)則來比較兩個(gè)元組。它首先比較各元組中下標(biāo)為0的對(duì)應(yīng)元素。如果相等,再比較下標(biāo)為1的對(duì)應(yīng)元素,如果還是相等,那就繼續(xù)比較下標(biāo)為2的元素,一次類推。
8.在表達(dá)式中引用變量時(shí),Python解釋器將會(huì)按照如下順序遍歷各作用域:
9.給變量賦值時(shí),規(guī)則有所不同。如果當(dāng)前作用域內(nèi)已經(jīng)定義了這個(gè)變量,那么該變量就會(huì)具備新值。若是當(dāng)前作用域內(nèi)沒有這個(gè)變量,Python則會(huì)把這次賦值視為對(duì)該變量的定義,而新定義的這個(gè)變量,其作用域就是包含賦值操作的這個(gè)函數(shù)。
10.nonlocal語句。nonlocal清楚地表明如果在閉包中給該變量賦值,那么修改的其實(shí)是閉包外那個(gè)作用域的變量。但是,nonlocal的唯一限制是它不能延伸到模塊級(jí)別,這個(gè)是為了防止它污染全局作用域。這個(gè)與global語句互補(bǔ)。global用來表示對(duì)該變量的賦值操作,將會(huì)直接修改作用域里的那個(gè)變量。
11.考慮用生成器改寫直接返回列表的函數(shù)
12.在參數(shù)迭代時(shí),要多加小心
到此這篇關(guān)于python編寫函數(shù)注意事項(xiàng)總結(jié)的文章就介紹到這了,更多相關(guān)python編寫函數(shù)的注意點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python中編寫函數(shù)并調(diào)用的知識(shí)點(diǎn)總結(jié)
- 淺析Python編寫函數(shù)裝飾器