国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 如何為 Python 基本類型自定義方法?

如何為 Python 基本類型自定義方法?

2020-10-20 23:37未聞Codekingname Python

我們知道,字符串str、整型int、浮點數(shù)float是 Python 的三大基本數(shù)據(jù)類型。

我們知道,字符串str、整型int、浮點數(shù)float是 Python 的三大基本數(shù)據(jù)類型。

如何為 Python 基本類型自定義方法?

我們也知道,在 Python 里面,一切都是對象,而對象一般有方法。所以,大家會看到下面這種寫法:


a = 'abcde' 

b = a.upper() 

print(b) 

其中的.upper()就是把字母轉(zhuǎn)成大寫的方法。

我們在寫自己的類時,常常會定義很多的方法。那么,當(dāng)字符串自帶的方法不夠時,我們是否有辦法自定義一些方法呢?

比如說,我想要一個方法叫做.are_you_short(),如果字符串的長度小于5,返回 True,字符串的長度大于等于5,返回 False。

我雖然可以單獨定義一個類來做這件事情:


class MyStr: 

    def __init__(self, value): 

        self.value = value 

 

    def are_you_short(self): 

        return len(self.value) < 5 

運行效果如下圖所示:

如何為 Python 基本類型自定義方法?

但問題是,現(xiàn)在根據(jù)MyStr類初始化的對象,它看起來完全不像一個字符串。它只是一個普通的對象了。大家對比一下普通字符串的行為和這個MyStr對象的行為:

如何為 Python 基本類型自定義方法?

MyStr對象,不僅打印不出內(nèi)容,而且還不能通過加號進行拼接。

看到這里,可能有同學(xué)會認為我要講魔術(shù)方法了。例如給MyStr實現(xiàn).__str__()方法,就能打印出內(nèi)容;實現(xiàn).__add__()方法,就可以實現(xiàn)用加號拼接。

但等等,哪里需要這么麻煩?一般有這種想法的同學(xué),是剛剛學(xué)完 Python 的魔術(shù)方法,覺得什么事情都可以用魔術(shù)方法來解決。

但實際上,要實現(xiàn)字符串的所有方法非常簡單!

東西學(xué)得越多,就越容易把最簡單的知識給忘記了。想想是不是還有一個東西叫做繼承?

我們修改一下MyStr的定義:


class MyStr(str): 

    def are_you_short(self): 

        return len(self) < 5 

運行效果如下圖所示:

如何為 Python 基本類型自定義方法?

不需要手動實現(xiàn)任何的魔術(shù)方法,直接就能擁有字符串的全部能力。

大家也可以對 int、float甚至是列表、字典試一試,來實現(xiàn)自己的數(shù)據(jù)類型。

需要注意的是,在繼承 Python 的數(shù)據(jù)類型時不要手動寫出__init__()方法,除非你知道你在干什么。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 综合久久久久 | 日韩av在线中文字幕 | 午夜视频在线免费观看 | 成人影院在线观看 | 国产成人精品一区二区在线 | 欧美三级网址 | 国产中文视频 | 香蕉依人 | 色站综合| 日韩一二三| 色噜噜狠狠狠综合曰曰曰88av | 懂色av中文字幕一区二区三区 | 中文字幕在线视频观看 | 99成人| 成人精品视频 | 日韩福利片 | 一区二区三区在线播放视频 | 精品国产欧美一区二区 | 国产 欧美 日韩一区 | 国产精品原创av片国产免费 | 欧美精品第一页 | 欧美福利在线观看 | 亚洲aⅴ天堂av在线电影软件 | 国产露脸国语对白在线 | 日韩欧美一区二区三区免费观看 | 欧美精三区欧美精三区 | 91在线看| 蜜桃视频一区 | 国产在线成人 | 一区二区精品 | 欧美91看片特黄aaaa | 91电影在线 | 日韩精品专区在线影院重磅 | 中文av一区二区三区 | 亚洲国产日韩欧美在线 | 久久久久高清 | 污污视频网址 | 久草中文在线 | 三区在线 | 中文字字幕一区二区三区四区五区 | 久久亚洲一区 |