1.不定义__str__()方法,使用print直接输出对象的时候,默认打印的是对象的内存地址
示例代码如下:
# 定义一个类
class Person(object):
# 构造方法
def __init__(self, name, age):
self.name = name
self.age = age
# 实例化一个对象
p = Person("allan", 25)
# 当使用print输出对象的时候,默认打印的是对象的内存地址:<__main__.Person object at 0x00000263CD9A5FD0>
print(p)
2.定义了__str__()方法,当使用print输出对象的时候,就会打印从这个方法中return的数据
示例代码如下:
'''
__str__()方法:该没有没有参数,只有一个返回值,而且返回值是一个字符串
'''
# 定义一个类
class Person(object):
# 构造方法
def __init__(self, name, age):
self.name = name
self.age = age
# 定义__str__()方法,当使用print输出对象的时候,就会打印从这个方法中return的数据
def __str__(self):
return "我的名字叫{},年龄{}".format(self.name, self.age)
# 实例化一个对象
p = Person("allan", 25)
# 输出:我的名字叫allan,年龄25
print(p)