底层函数重写
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.运算符重载