- 重写object的__str__()
class Person: #默认继承object类
def __init__(self,name,age):
self.name=name
self.age=age
def __str__(self): #重写__str__()
return "名字是:{}".format(self.name)
p=Person('单单',18)
print(p)
运行结果:
名字是:单单
没有重写前运行结果是:
<main.Person object at 0x0000022EFDC5A160>
- super()代表父类的定义,而不是父类的对象
class A:
def say(self):
print('A:{}'.format(self))
class B(A):
def say(self):
A.say(self)
super().say() #与A.say(self)出来的结果相同
print('B:{}'.format(self))
B().say()
运行结果:
A:<main.B object at 0x000001B8F2581FA0>
A:<main.B object at 0x000001B8F2581FA0>
B:<main.B object at 0x000001B8F2581FA0>