1. 程式人生 > >在python中函式是第一類物件

在python中函式是第一類物件

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函式等功能也是基於這些特性來實現的