使用简单的类时,如何在不使用任何括号的情况下默认返回某个属性?
例如在下面,有没有一种方法不必一直输入()?
class Person():
def __init__(self):
self.name = 'Bishonen'
def __call__(self, *args, **kwargs):
return self.name
c = Person()
print(c) # returns the object
print(c()) # actually returns the name.
答案 0 :(得分:0)
一种方法是定义__str__()
。打印时,您将获得所需的值。
class Person:
def __init__(self):
self.name="John"
def __str__(self):
return self.name
p=Person()
print(p)
也可以使用__repr__()
来避免需要print()
class Person:
def __init__(self):
self.name="John"
def __repr__(self):
return self.name
p=Person()
p