定义的方法是`__str__`,为什么用在实例上时不用写双下划线了?str(bob)
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
def __str__(self):
return 'name: {}, gender: {}'.format(self.name, self.gender)
bob = Person('Bob', 'Male')
str(bob) # ==> 'name: Bob, gender: Male'定义的方法是`__str__`,为什么用在实例上时不用写双下划线了?