欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中操作符重載用法分析

 更新時(shí)間:2016年04月29日 11:22:41   作者:阿涵-_-  
這篇文章主要介紹了Python中操作符重載用法,較為詳細(xì)的分析了Python操作符重載的功能,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python中操作符重載用法。分享給大家供大家參考,具體如下:

類可以重載python的操作符

操作符重載使我們的對(duì)象與內(nèi)置的一樣。__X__的名字的方法是特殊的掛鉤(hook),python通過(guò)這種特殊的命名來(lái)攔截操作符,以實(shí)現(xiàn)重載。 python在計(jì)算操作符時(shí)會(huì)自動(dòng)調(diào)用這樣的方法,例如:

如果對(duì)象繼承了__add__方法,當(dāng)它出現(xiàn)在+表達(dá)式中時(shí)會(huì)調(diào)用這個(gè)方法。通過(guò)重載,用戶定義的對(duì)象就像內(nèi)置的一樣。

在類中重載操作符

1、操作符重載使得類能攔截標(biāo)準(zhǔn)的python操作。
2、類可以重載所有的python的表達(dá)式操作符。
3、類可以重載對(duì)象操作:print,函數(shù)調(diào)用,限定等。
4、重載使得類的實(shí)例看起來(lái)更像內(nèi)置的。
5、重載是通過(guò)特殊命名的類方法來(lái)實(shí)現(xiàn)的。

方法名        重載的操作說(shuō)明        調(diào)用表達(dá)式
__init__    構(gòu)造函數(shù)        創(chuàng)建對(duì)象:class()
__del__        析構(gòu)函數(shù)        釋放對(duì)象的時(shí)候
__add__        “+”            x + y
__or__        “|”            x | y
__repr__    打印,轉(zhuǎn)換        print x, `x`
__call__    函數(shù)調(diào)用        X()
__getattr__    屬性引用        x.undefined
__getitem__    索引            x[key],for循環(huán),in測(cè)試
__setitem__    索引賦值        x[key] = value
__getslice__    分片            x[low:high]
__len__        長(zhǎng)度            len(x)
__cmp__        比較            x == Y ,x < y
__radd__    右邊的操作符"+"        非實(shí)例 + x

例子:

__getitem__攔截了所有的索引操作

>>> class indexer:
def __getitem__(self,index):
return index ** 2
>>> x = indexer()
>>> for i in range(5):
print x[i]  #x[i]將調(diào)用__getitem__(x,i)
0
1
4
9
16

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python3+selenium配置常見(jiàn)報(bào)錯(cuò)解決方案

    Python3+selenium配置常見(jiàn)報(bào)錯(cuò)解決方案

    這篇文章主要介紹了Python3+selenium配置常見(jiàn)報(bào)錯(cuò)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Opencv+Python 色彩通道拆分及合并的示例

    Opencv+Python 色彩通道拆分及合并的示例

    今天小編就為大家分享一篇Opencv+Python 色彩通道拆分及合并的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python+Matplotlib繪制3D圖像的示例詳解

    Python+Matplotlib繪制3D圖像的示例詳解

    這篇文章主要為大家介紹了如何使用python matplotlib繪制繪制出一系列酷炫的3D圖像,例如:3D散點(diǎn)圖,3D曲線圖等,感興趣的可以了解一下
    2022-04-04
  • django 數(shù)據(jù)庫(kù)返回queryset實(shí)現(xiàn)封裝為字典

    django 數(shù)據(jù)庫(kù)返回queryset實(shí)現(xiàn)封裝為字典

    這篇文章主要介紹了django 數(shù)據(jù)庫(kù)返回queryset實(shí)現(xiàn)封裝為字典,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 簡(jiǎn)單實(shí)現(xiàn)python進(jìn)度條腳本

    簡(jiǎn)單實(shí)現(xiàn)python進(jìn)度條腳本

    這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)python進(jìn)度條,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python使用scipy.fft進(jìn)行大學(xué)經(jīng)典的傅立葉變換

    Python使用scipy.fft進(jìn)行大學(xué)經(jīng)典的傅立葉變換

    傅里葉變換是在高數(shù)是一個(gè)很重要的知識(shí)點(diǎn),本文將介紹Python使用scipy.fft進(jìn)行大學(xué)經(jīng)典的傅立葉變換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python使用騰訊云API實(shí)現(xiàn)短信驗(yàn)證碼功能

    Python使用騰訊云API實(shí)現(xiàn)短信驗(yàn)證碼功能

    使用Python與騰訊云接口對(duì)接,實(shí)現(xiàn)短信驗(yàn)證碼功能變得非常簡(jiǎn)單,只需要幾行代碼就能夠輕松實(shí)現(xiàn)短信的發(fā)送,無(wú)須關(guān)心復(fù)雜的短信協(xié)議和底層實(shí)現(xiàn),讀者可以根據(jù)自己的實(shí)際需求,靈活使用騰訊云短信SDK提供的API來(lái)實(shí)現(xiàn)更豐富的短信功能
    2024-01-01
  • Python 比較兩個(gè)數(shù)組的元素的異同方法

    Python 比較兩個(gè)數(shù)組的元素的異同方法

    下面小編就為大家?guī)?lái)一篇Python 比較兩個(gè)數(shù)組的元素的異同方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • TensorFlow2.4完成Word2vec詞嵌入訓(xùn)練方法詳解

    TensorFlow2.4完成Word2vec詞嵌入訓(xùn)練方法詳解

    這篇文章主要為大家介紹了TensorFlow2.4完成Word2vec詞嵌入訓(xùn)練方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Python中使用ctypes調(diào)用C++的方法

    Python中使用ctypes調(diào)用C++的方法

    本文主要介紹了Python中使用ctypes調(diào)用C++的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論