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 有東西就是閉包.沒東西...