Python 7天快速入門完整視頻教程:https://www.bilibili.com/video/BV1o84y1Z7J1
魔法方法
Python的魔法方法,也稱為特殊方法或雙下劃線方法,是一種特殊的方法,用于在類中實(shí)現(xiàn)一些特殊的功能。這些方法的名稱始終以雙下劃線開頭和結(jié)尾,例如init,repr,add等
__str__方法,定義對象的顯示字符串,默認(rèn)是對象內(nèi)存地址,我們可以通過重寫str方法,顯示我們需要的數(shù)據(jù)。
# 定義人類
class Person:
# 屬性 姓名
name = None
# 屬性 年齡
age = None
def __init__(self, name, age):
self.name = name
self.age = age
zhangsan = Person("張三", 21)
print(zhangsan)
print(str(zhangsan))
運(yùn)行輸出:
<__main__.Person object at 0x00000202E61AF950>
<__main__.Person object at 0x00000202E61AF950>
重寫str方法:
def __str__(self):
return f"姓名:{self.name},年齡:{self.age}"
運(yùn)行輸出:
姓名:張三,年齡:21
姓名:張三,年齡:21
eq 定義對象間的等于操作,當(dāng)使用==比較兩個對象時被調(diào)用。
# 定義人類
class Person:
# 屬性 姓名
name = None
# 屬性 年齡
age = None
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"姓名:{self.name},年齡:{self.age}"
def __eq__(self, other):
return self.age == other.age
zhangsan = Person("張三", 21)
print(zhangsan)
# 在創(chuàng)建一個對象 lisi
lisi = Person("李四", 21)
print(lisi)
print(zhangsan == lisi)
作業(yè),通過重寫魔法方法,實(shí)現(xiàn) zhangsan < lisi 以及 zhangsan >=lisi 這兩個對象通過屬性age來判斷大小,返回布爾類型。