python中的函數(shù)

本文所記述的是一些基礎(chǔ)知識(shí)點(diǎn)中平時(shí)用的比較少的方法。

一、給函數(shù)編寫文檔

除了在程序文件中添加注釋外,還有另一種方法可以為函數(shù)添加文檔,既在def語句的下一行添加獨(dú)立字符串,稱之為“文檔字符串”,例如:

def square(x):
    'Calculates the square of the number x.'
return x * x

然后通過

square.__doc__

查看函數(shù)文檔。

二、作用域

在函數(shù)中使用全局變量時(shí),python會(huì)將其默認(rèn)為局部變量,從而產(chǎn)生全局變量被“遮蓋”的問題,為了解決這個(gè)問題,可以使用global聲明,例如:

>>> x = 1
>>> def change_global():
        global x
        x = x + 1

作用域的另外一個(gè)重要體現(xiàn)是閉包。在函數(shù)嵌套的情況下,按照上述理論,外部函數(shù)下的變量既不屬于全局變量又不屬于內(nèi)部函數(shù)的局部變量,但是在這種情況下內(nèi)部函數(shù)可以訪問外部函數(shù)下的變量。

三、函數(shù)式編程

使用lambda構(gòu)建簡(jiǎn)單函數(shù),個(gè)人認(rèn)為函數(shù)式編程主要適用于構(gòu)建簡(jiǎn)單函數(shù)。與map 、 filter 和 reduce 等方法配合使用效果比較明顯。例如:

seq = ["foo", "x41", "?!", "***"]
filter(lambda x: x.isalnum(), seq)
# 輸出:
['foo', 'x41']
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容