在python中函式是第一類物件
阿新 • • 發佈:2019-01-24
python中,所有的元素都是物件,其中第一類物件的通用特性:可作為值傳遞,賦值給另一個物件;可以作為元素新增到集合物件中;可以作為引數傳遞給其他函式;可以作為函式的返回值
1,賦值給變數
def f1(str):
return len(str)
temp=f1
print temp('hello')
2,新增到集合物件中
def f2(str1,str2):
return str1+str2
a=[]
a.append(f1)
a.append(f2)
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函式等功能也是基於這些特性來實現的
1,賦值給變數
def f1(str):
return len(str)
temp=f1
print temp('hello')
2,新增到集合物件中
def f2(str1,str2):
return str1+str2
a=[]
a.append(f1)
a.append(f2)
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函式等功能也是基於這些特性來實現的