在python中函式是第一類物件

2021-07-31 10:09:05 字數 687 閱讀 2009

python中,所有的元素都是物件,其中第一類物件的通用特性:可作為值傳遞,賦值給另乙個物件;可以作為元素新增到集合物件中;可以作為引數傳遞給其他函式;可以作為函式的返回值

1,賦值給變數

def f1(str):

return len(str)

temp=f1

print temp('hello')

2,新增到集合物件中

def f2(str1,str2):

return str1+str2

a=print a[0]('hello')

print a[1]('hello','world')

3,作為引數

def func(f,str):

return f(str)

print func(f1,'hello')

4,作為函式的返回值

def mutiply(x,y):

reutrn x*y

def sub(x,y):

return x-y

def func2(i):

if i==1:

return mutiply

else:

return sub

temp=func2(2)

print temp(2,4) 

裝飾器,匿名函式,map函式等功能也是基於這些特性來實現的 

Python 函式是第一類物件

在很多資料中,經常會看到這樣一句話 python 中的函式是第一類物件 這裡所說的第一類物件,其實是指函式作為乙個物件,與其他物件具有相同的地位。關於這一點,guido 曾提過 first class everything 他對 python 的乙個發展目標就是所有的物件都是第一類物件。也就是說,所...

Python 函式的第一類物件 使用

函式的第一類物件及使用 第一類物件 特殊點 可以當做值被賦值給變數 def func print 1 print func a func a 2.可以當做元素存放在容器中 def func print 1 lst func,func,func for i in lst i 3.函式名可以當做函式的引...

第一類物件 函式名 變數名

第一類物件 函式名 變數名 函式物件可以像變數一樣進行賦值 還可以作為列表的元素進行使用 可以作為返回值返回 可以作為引數進行傳遞 閉包 函式的巢狀 內層函式對外層函式中的變數的使用 好處 1.保護變數不被侵害 2.讓乙個變數常駐記憶體 如何通過 檢視乙個閉包 closure 有東西就是閉包.沒東西...