面向对象-内置特殊方法-对象信息重写。
# __str__ : 对象信息重写
class Dog(object):
name = 'Tom'
def __init__(self):
self.sex = 'man'
self.age = 19
def __str__(self):
return '%s性别是%s,年龄是%d' % (Dog.name, self.sex, self.age)
d = Dog()
print(d) # 没有__str__只会返回:<__main__.Dog object at 0x0000000001E12CD0>
print(str(d)) # 通过str()函数也能实现对象信息展现,注意这里要借助于重写函数
# __repr__ :和__str__类似,只是为了弥补重写后,再次获取原有对象底层信息
print(repr(d)) # 和没有重写前一样<__main__.Dog object at 0x0000000002172CD0>
class Dog(object):
name = 'Tom'
def __init__(self):
self.sex = 'man'
self.age = 19
def __repr__(self):
return 'repr' # 可以通过__repr__实现对对象本身的重新描述
# <__main__.Dog object at 0x00000000021B2CD0> ----> repr
d = Dog()
print(d)
# __str__一般是面向用户提供对象的一些基本信息
# __repr__一般是面向开发人员提供对象预制信息,方便调试