overview
在Python中、函數(shù)是一等對(duì)象.編寫(xiě)語(yǔ)言理論家把“一等對(duì)象”定義為滿(mǎn)足如下條件的程序?qū)嶓w:
- 在運(yùn)行時(shí)創(chuàng)建
- 能賦值給變量或著數(shù)據(jù)結(jié)構(gòu)中的元素
- 能作為參數(shù)傳給函數(shù)
- 能作為函數(shù)的返回結(jié)果
1 把函數(shù)作為對(duì)象
2. 高階函數(shù)是函數(shù)式編程的特點(diǎn)之一.
接受函數(shù)為參數(shù)、或者把函數(shù)作為結(jié)果返回的函數(shù)是 高階函數(shù)(higher-order function)
friut =['strawberry', 'fig', 'apple', 'cherry', 'rasberry', 'banana']
sorted(fruit, key=len)
4. 可調(diào)用對(duì)象
如果想判斷對(duì)象是否調(diào)用、可以使用內(nèi)置的 callable() 函數(shù). python列出了7種可調(diào)用的對(duì)象.
用戶(hù)定義的函數(shù)
使用def語(yǔ)句或lambda表達(dá)式創(chuàng)建-
內(nèi)置函數(shù)
使用C語(yǔ)言實(shí)現(xiàn)的函數(shù),如len或time.strftime
-
內(nèi)置方法
使用C語(yǔ)言實(shí)現(xiàn)的方法,如dict.get
-
方法
在類(lèi)的定義體中定義的函數(shù)
-
類(lèi)
調(diào)用類(lèi)時(shí)會(huì)運(yùn)行類(lèi)的 __new __ 方法創(chuàng)建一個(gè)實(shí)例,然后運(yùn) __init __ 方法,初始化實(shí)例,最后把實(shí)例返回給調(diào)用方.
-
類(lèi)的實(shí)例
如果類(lèi)定義了 __call __ 方法,那么它的實(shí)例可以作為函數(shù)調(diào)用
-
生成器函數(shù)
使用 yield 關(guān)鍵字的函數(shù)或方法。調(diào)用生成器函數(shù)返回的是生成器對(duì)象.