class Person(object):
def init(self, name, age):
self.name = name
self.age = age
# def __repr__(self):
# return '哈哈哈'
def __str__(self):
return 'name={},age={}'.format(self.name, self.age)
def __int__(self):
return self.age
def __bool__(self):
return False
def __float__(self):
return 1.0
p = Person(‘zhangsan’, 18)
如果直接打印一个对象,会输出对象的 <模块名.类名 内存地址>
print§ # <main.Person object at 0x014EFE10>
调用print方法打印一个对象的时候,会自动调用 repr 或者 __str__方法
print§ # name=zhangsan,age=18
x = str§ # 也会自动调用 str 方法,获取到返回值
print(‘x的值是{}’.format(x))
y = int§ # 会自动调用 int 方法,获取到返回值
print(‘y的值是{}’.format(y))
z = bool§ # 会自动调用 bool 方法,获取返回值
print(z) # True
a = float§
print(a)