给定这个简单的类:
class Foo(object):
def __init__(self,a=None):
self.a = a
def __repr__(self):
return "Foo(a='{self.a}')".format(self=self)
我想知道是否有一种简单的方法可以__repr__
根据 a 的类型返回不同的格式:
Foo('some_string') # if a is a string
Foo(5) # if a is the integer 5
Foo(None) # if a is None
显然,对于单个属性,我可以测试并具有不同的输出字符串,但我认为一定有人在我之前解决了这个问题。具体来说,我有几个属性可以是字符串或无,我认为为我编写复杂的逻辑没有__repr__
多大意义。