鉴于这种简单的类:__repr__是否可以是字符串或None的属性?
class Foo(object):
def __init__(self,a=None):
self.a = a
def __repr__(self):
return "Foo(a='{self.a}')".format(self=self)
我想知道如果有一个简单的方法来获得__repr__
取决于的类型返回不同的格式:
Foo('some_string') # if a is a string
Foo(5) # if a is the integer 5
Foo(None) # if a is None
显然,对于一个我可以测试单个属性,并有不同的输出字符串,但我认为有人必须在我之前解决这个问题。具体来说,我有几个属性可以是字符串或无,并且我没有看到为我的__repr__
编写复杂的逻辑很有意义。
感谢的Martijn的快速解答!现在,有没有人有处理可选参数的“技巧”?我认为Foo()比Foo(无)漂亮很多...... – 2013-04-25 22:15:57