函式的重寫:
將函式重寫一遍,如:
class animal(object):
def __init__(self, name, age, height, weight):
self.name = name
self.age = age
self.height = height
self.weight = weight
ani = animal("大黃", 5, 60, 25)
print(ani)
>>> <__main__.animal object at 0x0000011284c98438>
class animal(object):
def __init__(self, name, age, height, weight):
self.name = name
self.age = age
self.height = height
self.weight = weight
def __str__(self):
return "%s-%d-%d-%d"%(self.name, self.age, self.height, self.weight)
ani = animal("大黃", 5, 60, 25)
print(ani)#在列印ani時自動呼叫str函式
>>>大黃-5-60-25
使用時機:當乙個物件的屬性值很多,並且都需要列印,重寫__str__方法後,簡化了**,方便檢視
運算子過載:
類可以過載加減運算,列印,函式呼叫,索引等內建運算,運算子過載使我們的物件的行為與內建函式一樣,在python呼叫時操作符會自動的作用於類的物件,python會自動的搜尋並呼叫物件中指定的方法完成操作。
#數字和字串都能直接相加
print(1 + 2)
print("1" + "2")
兩個物件不能直接相加,但是使用運算子過載和方法重寫就可以了:
class person(object):
def __init__(self, num):
self.num = num
#運算子過載
def __add__(self, other):
return person(self.num + other.num)
#方法重寫
def __str__(self):
return str(self.num)
per1 = person(1)
per2 = person(2)
print(per1 + per2)
>>>3
20201205 110 特殊方法和運算子過載
python 的運算子實際上是通過呼叫物件的特殊方法實現的。比如 a 20b 30c a b d a.add b print c print d print dir a 執行結果 常用的特殊方法統計如下 每個運算子實際上都對應了相應的方法,統計如下 可以重寫上面的特殊方法,即實現 運算子的過載 cl...
python 運算子 Python運算子
python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...
python 運算子 python(運算子)
一 運算子 1.算數運算子 1 加 注意 字串與整數之間不能進行相加,需要通過str 或int 進行轉換資料型別 整數與整數相加 1 1 浮點數與浮點數相加 2.0 2.0 4.0 二進位制儲存精度誤差 1.1 1.3 2.4000000000000004 整數與浮點數相加 2 2.0 4.0字串之...