python 高階學習

2021-06-28 23:42:56 字數 968 閱讀 4974

2-10 匿名函式 lambda 的理解:

print filter(lambda s:s and len(s.strip())>0, ['test', none, '', 'str', '  ', 'end'])

lambda s   相當於 def f(s):    s and len(s.strip()) 相當於 return s and len(s.strip())        lambda 冒號後面的部分相當於返回值

2-11:裝飾器的理解:

python的 decorator 本質上就是乙個高階函式,它接收乙個函式作為引數,然後,返回乙個新函式。

使用 decorator 用python提供的@ 語法,這樣可以避免手動編寫f = decorate(f) 這樣的**。

裝飾器在原因的函式上增加新的功能,向乙個方法中傳入要增加功能的函式名,本例為factorial, 增加輸出起始時間的功能,此時的factorial的函式體相當於 fnew的函式體。

@:等價於 factorial=performance(factorial)

import time

def performance(f):

def fnew(*args,**kw):

print "%s"%(time.strftime("%x",time.localtime()))

return f(*args,**kw)

return fnew

#factorial=performance(factorial)

@performance

def factorial(n):

return reduce(lambda x,y: x*y, range(1, n+1))

#factorial=performance(factorial)

print factorial(10)

Python高階學習

1 2 私有屬性是以雙下劃線 開頭的屬性,在類的外部訪問私有屬性將會丟擲異常,提示沒有這個屬性。3 45 class animal 6 location china 7 def init self,name,age 8 self.name name 9 self.age age 1011 locat...

python高階學習之高階函式

高階函式就是把函式當做引數傳遞的一種函式,例如 執行結果 map 接收乙個函式 f和乙個list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。執行結果 reduce 函式接收的引數和 map 類似,乙個函式 f,乙個list,但行為和 map 不同,redu...

Python學習筆記 高階

定義乙個類 注意的是 在類中的每個函式中最少要有乙個self引數 其實這裡的self this class test name 張三丰 age 200 defsay self print hi i am san feng 例項化乙個物件 t1 test 通過物件呼叫自身的方法 t1.say pyth...