我在一個類的函數:
def foo(self, value = None):
if value is None:
return self.value
self.value = value
return self
這是一個getter和setter組合合併爲一個,其優點是我可以鏈接如下功能:
three = anInstanceOfMyClass.foo(3).bar().foo()
的問題時,我不喜歡這樣出現:
shouldBeNoneButIsThree = anInstanceOfMyClass.foo(3).foo(None).foo()
這裏富認爲我沒有通過的說法。 我能避免這種情形:
- 設定值一些奇怪的物體,像一個隨機字符串
- 創建其價值具有作爲默認值的構造一個對象實例
似乎都有點工作太多,什麼是更簡單的方法?
設定值的東西
我喜歡鏈接,因爲它可以將300行簡短的代碼更改爲100行,並具有相同或更高的可讀性。 –
不錯的舉動,我寫了一個答案後刪除您的評論.. –