您好,登錄后才能下訂單哦!
小編給大家分享一下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運算符重載是什么意思的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。