摘要:于是打算看一下流暢的。第一章是講數(shù)據(jù)模型,主要是的魔術(shù)方法特殊方法,它們以雙下劃線開頭和結(jié)束,能讓我們自己寫的類擁有類似內(nèi)置對象那樣的屬性和方法。第三個出場的的是,把對象用字符串的形式表示出來。第六個是,用于實(shí)現(xiàn)自己定義的布爾值。
接觸 Python 有一段時間了,但是到現(xiàn)在也沒怎么用 Python 寫過一些有用的東西。基礎(chǔ)雖然還行,但更深入的就不怎么了解了。于是打算看一下《流暢的 Python》。
第一章是講數(shù)據(jù)模型,主要是 Python 的魔術(shù)方法(特殊方法),它們以雙下劃線開頭和結(jié)束,能讓我們自己寫的類擁有類似 Python 內(nèi)置對象那樣的屬性和方法。
首先出場的是__getitem__和__len__。有了__getitem__方法,我們寫的類就能實(shí)現(xiàn)類似列表那樣的索引形式,如obj[0],同時還能進(jìn)行迭代和切片。而實(shí)現(xiàn)了__len__之后,就可以使用 Python 內(nèi)置的函數(shù)len()來獲取對象的長度,len()調(diào)用的就是__len__方法。
特殊方法是由 Python 解釋器去調(diào)用的,我們只需使用 Python 內(nèi)置的方法就好。__init__除外,我們會使用的多。
想要將一些 Python 內(nèi)置的函數(shù)用到我們寫的類中,只需實(shí)現(xiàn)對應(yīng)的特殊方法就行。第三個出場的的是__repr__,把對象用字符串的形式表示出來。當(dāng)沒有實(shí)現(xiàn)__str__時,調(diào)用str()函數(shù)會回退到調(diào)用__repr__。
之后是__and__和__mul__,分別對應(yīng) Python 的+和*操作符。
第六個是__bool__,用于實(shí)現(xiàn)自己定義的布爾值。
有的內(nèi)置方法對于內(nèi)置的對象,可能不需要調(diào)用任何方法,而是直接返回對象的某個值。len()函數(shù)就是如此,提高了效率,又兼容了,用戶自定義的類。
之前也接觸過特殊方法,但是沒有細(xì)究,現(xiàn)在算是理解更深了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41569.html
摘要:第一章數(shù)據(jù)類型隱式方法利用快速生成類方法方法通過下標(biāo)找元素自動支持切片操作可迭代方法與如果是一個自定義類的對象,那么會自己去調(diào)用其中由你實(shí)現(xiàn)的方法。若返回,則會返回否則返回。一個對象沒有函數(shù),解釋器會用作為替代。 第一章 python數(shù)據(jù)類型 1 隱式方法 利用collections.namedtuple 快速生成類 import collections Card = collec...
摘要:第一章數(shù)據(jù)類型隱式方法利用快速生成字典方法方法通過下標(biāo)找元素自動支持切片操作可迭代方法與如果是一個自定義類的對象,那么會自己去調(diào)用其中由你實(shí)現(xiàn)的方法。若返回,則會返回否則返回。一個對象沒有函數(shù),解釋器會用作為替代。 第一章 python數(shù)據(jù)類型 1 隱式方法 利用collections.namedtuple 快速生成字典 import collections Card = coll...
摘要:前言數(shù)據(jù)模型其實(shí)是對框架的描述,它規(guī)范了這門語言自身構(gòu)件模塊的接口,這些模塊包括但不限于序列迭代器函數(shù)類和上下文管理器。上述類實(shí)現(xiàn)了方法,它可用于需要布爾值的上下文中等。但多虧了它是特殊方法,我們也可以把用于自定義數(shù)據(jù)類型。 《流暢的Python》筆記。本篇是Python進(jìn)階篇的開始。本篇主要是對Python特殊方法的概述。 1. 前言 數(shù)據(jù)模型其實(shí)是對Python框架的描述,它規(guī)范了...
摘要:魔術(shù)方法的解釋器遇見魔術(shù)方法時會激活一些基本的對象操作方法例如,獲取字典的元素,其背后實(shí)現(xiàn)的時方法輸出了自定義的的內(nèi)容,說明內(nèi)部調(diào)用了方法構(gòu)建只要屬性沒有方法的對象實(shí)現(xiàn)自定義對一個對象進(jìn)行操作,會調(diào)用對象的方法和結(jié)合使用以下方法均可重寫,使 魔術(shù)方法 __getitem__ python的解釋器遇見魔術(shù)方法時會激活一些基本的對象操作方法例如,obj[key]獲取obj字典的key元素...
閱讀 1158·2021-11-24 10:43
閱讀 3116·2021-11-22 09:34
閱讀 3555·2021-10-08 10:04
閱讀 3940·2021-09-23 11:58
閱讀 3123·2019-08-30 15:44
閱讀 490·2019-08-30 13:01
閱讀 1164·2019-08-28 18:07
閱讀 1454·2019-08-26 13:42