Python3底層函式重寫和運算子過載
阿新 • • 發佈:2018-11-03
底層函式重寫
Python是支援重寫底層函式的,在列印物件時,
預設列印的是物件的地址名,也就是底層函式:__str__(),那麼,如果我修改了底層函式,
讓他輸出我想要的值,而不是列印地址值,這時就達到了重寫底層函式而列印一些我們想要的值的目的。
看下邊:
#不重寫底層 class Person: def __init__(self): self.name=None p=Person() p.name='22' print(p)# 列印物件名實際就是呼叫底層函式__str__() 即 print(p)=print(p.__str__()) #print(p.__str__()) #重寫底層 class Person: def __init__(self): self.name=None def __str__(self): return '10' #這裡注意__str__()返回的必須是一個字串 p=Person() p.name='22' #列印之後和上邊的進行對比 print(p) print(p.__str__())
2.運算子過載