鑑於這種簡單的類:__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