摘要:今天深入接觸了中的函數(shù),發(fā)現(xiàn)函數(shù)比我想象的要高深。介紹的幾個高階函數(shù)有內(nèi)置的和函數(shù),模塊中的。可調(diào)用對象即能被調(diào)用運算符應(yīng)用的對象,可使用內(nèi)置的函數(shù)檢測。函數(shù)的三個屬性和放置了函數(shù)對象參數(shù)的一些信息。
今天深入接觸了 Python 中的函數(shù),發(fā)現(xiàn)函數(shù)比我想象的要高深。
Python 中萬物皆對象,這一章就介紹了函數(shù)作為對象的一些屬性。首先是測試所有對象共有的屬性__doc__,可以看到它是function類的實例。然后是變量賦值、作為參數(shù)傳遞。這些概念雖然之前也知道,但是還沒怎么用過,偶爾在key關(guān)鍵字參數(shù)的地方使用。
之后就是高階函數(shù)了。有接觸過函數(shù)式語言,所以現(xiàn)在看起來還是沒難度的。介紹的幾個高階函數(shù)有內(nèi)置的map、filter和sorted函數(shù),functools模塊中的reduce。而map、filter和reduce函數(shù)在 Python 中有了更好的替代——列表推導(dǎo)和生成器表達式。
Python 中,匿名函數(shù)由lambda關(guān)鍵字創(chuàng)建,它的定義體只能使用純表達式。
可調(diào)用對象即能被調(diào)用運算符(())應(yīng)用的對象,可使用內(nèi)置的callable函數(shù)檢測。
當(dāng)一個對象實現(xiàn)了__call__方法,它就是一個函數(shù)類對象,可被調(diào)用。函數(shù)還是跟普通的類有所不同,它有一些獨有的屬性,比如__defaults__。
Python 的參數(shù)處理機制有三個比較有趣,一個是新增的僅限關(guān)鍵字參數(shù),另外兩個是定位參數(shù),*和**展開可迭代對象映射到單個參數(shù),其中**映射的是字典,僅限關(guān)鍵字參數(shù)表示只能通過關(guān)鍵字來指定,且只能放到*后面??煞乓粋€*只支持僅限關(guān)鍵字參數(shù)。
函數(shù)的三個屬性__defaults__、__kwdefaults__和__code__放置了函數(shù)對象參數(shù)的一些信息。而使用inspect模塊中的signature更加方便。
函數(shù)注解「用于為函數(shù)聲明中的參數(shù)和返回值附加元數(shù)據(jù)」,它存儲在函數(shù)的__annotations__屬性中。
最后介紹了兩個包operator和functools,用于支持函數(shù)式編程風(fēng)格。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41626.html
摘要:第一章數(shù)據(jù)類型隱式方法利用快速生成類方法方法通過下標找元素自動支持切片操作可迭代方法與如果是一個自定義類的對象,那么會自己去調(diào)用其中由你實現(xiàn)的方法。若返回,則會返回否則返回。一個對象沒有函數(shù),解釋器會用作為替代。 第一章 python數(shù)據(jù)類型 1 隱式方法 利用collections.namedtuple 快速生成類 import collections Card = collec...
摘要:第一章數(shù)據(jù)類型隱式方法利用快速生成字典方法方法通過下標找元素自動支持切片操作可迭代方法與如果是一個自定義類的對象,那么會自己去調(diào)用其中由你實現(xiàn)的方法。若返回,則會返回否則返回。一個對象沒有函數(shù),解釋器會用作為替代。 第一章 python數(shù)據(jù)類型 1 隱式方法 利用collections.namedtuple 快速生成字典 import collections Card = coll...
摘要:于是打算看一下流暢的。第一章是講數(shù)據(jù)模型,主要是的魔術(shù)方法特殊方法,它們以雙下劃線開頭和結(jié)束,能讓我們自己寫的類擁有類似內(nèi)置對象那樣的屬性和方法。第三個出場的的是,把對象用字符串的形式表示出來。第六個是,用于實現(xiàn)自己定義的布爾值。 接觸 Python 有一段時間了,但是到現(xiàn)在也沒怎么用 Python 寫過一些有用的東西。基礎(chǔ)雖然還行,但更深入的就不怎么了解了。于是打算看一下《流暢的 P...
摘要:把具名元組以的形式返回,我們可以利用它來把元組里的信息友好地呈現(xiàn)出來。數(shù)組支持所有跟可變序列有關(guān)的操作,包括和。雙向隊列和其他形式的隊列類雙向隊列是一個線程安全可以快速從兩端添加或者刪除元素的數(shù)據(jù)類型。 列表表達式 >>> symbols = $¢£¥€¤ >>> codes = [ord(symbol) for symbol in symbols] >>> codes [36, 16...
摘要:看了這一章,發(fā)現(xiàn)原來是裝飾器,又一新知識。期間,裝飾器會做一些額外的工作。書中介紹了模塊中的三個裝飾器。另一個是,這個裝飾器把函數(shù)結(jié)果保存了起來,避免傳入相同參數(shù)時重復(fù)計算。疊放不奇怪,裝飾器返回的就是函數(shù)或可調(diào)用對象。 在 Web 框架 Flask 中,最??吹降幕蛟S是以@app.route開頭的那行代碼。由于還是剛接觸 Flask,所以對這種語法還不熟悉。看了這一章,發(fā)現(xiàn)原來是裝飾...
閱讀 2846·2023-04-26 02:23
閱讀 1594·2021-11-11 16:55
閱讀 3155·2021-10-19 11:47
閱讀 3370·2021-09-22 15:15
閱讀 1984·2019-08-30 15:55
閱讀 1045·2019-08-29 15:43
閱讀 1300·2019-08-29 13:16
閱讀 2203·2019-08-29 12:38