1. 程式人生 > >Python3底層函式重寫和運算子過載

Python3底層函式重寫和運算子過載

底層函式重寫

                  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.運算子過載

轉載:淺析Python運算子過載