中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python運算符重載是什么意思

發布時間:2020-07-16 14:14:50 來源:億速云 閱讀:362 作者:清晨 欄目:編程語言

小編給大家分享一下Python運算符重載是什么意思,相信大部分人都還不怎么了解,因此分享這邊文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!

什么叫Python運算符重載

Python中每個數據類型都有其獨特的操作方法,例如列表類型支持直接做加法操作實現添加元素的功能,字符串類型支持直接做加法實現字符串的拼接功能,也就是說,同樣的運算符對于不同序列類型的意義是不一樣的。

推薦學習《Python教程》。

在 Python 內部,每種序列類型都是 Python 的一個類,例如列表是 list 類,字典是 dict 類等,這些序列類的內部使用了一個叫作“重載運算符”的技術來實現不同運算符所對應的操作。

所謂重載運算符,指的是在類中定義并實現一個與運算符對應的處理方法,這樣當類對象在進行運算符操作時,系統就會調用類中相應的方法來處理。

重載運算符示例:

class MyClass: #自定義一個類
    def __init__(self, name , age): #定義該類的初始化函數
        self.name = name #將傳入的參數值賦值給成員交量
        self.age = age
    def __str__(self): #用于將值轉化為字符串形式,等同于 str(obj)
        return "name:"+self.name+";age:"+str(self.age)
   
    __repr__ = __str__ #轉化為供解釋器讀取的形式
   
    def __lt__(self, record): #重載 self<record 運算符
        if self.age < record.age:
            return True
        else:
            return False
   
    def __add__(self, record): #重載 + 號運算符
        return MyClass(self.name, self.age+record.age)
myc = MyClass("Anna", 42) #實例化一個對象 Anna,并為其初始化
mycl = MyClass("Gary", 23) #實例化一個對象 Gary,并為其初始化
print(repr(myc)) #格式化對象 myc,
print(myc) #解釋器讀取對象 myc,調用 repr
print (str (myc)) #格式化對象 myc ,輸出"name:Anna;age:42"
print(myc < mycl) #比較 myc<mycl 的結果,輸出 False
print (myc+mycl) #進行兩個 MyClass 對象的相加運算,輸出 "name:Anna;age:65"

結果為:

name:Anna;age:42
name:Anna;age:42
name:Anna;age:42
False
name:Anna;age:65

以上是Python運算符重載是什么意思的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荣昌县| 张家川| 景宁| 武邑县| 行唐县| 平泉县| 容城县| 门头沟区| 西藏| 始兴县| 桓仁| 青州市| 志丹县| 阿城市| 民勤县| 汝南县| 定日县| 彭泽县| 新疆| 定襄县| 方城县| 宜宾市| 罗城| 吉木乃县| 东台市| 方正县| 晋州市| 二手房| 曲麻莱县| 房产| 大足县| 松江区| 科尔| 邹平县| 孝义市| 威信县| 嘉鱼县| 禄劝| 绍兴市| 达日县| 乌拉特中旗|