重複の可能性:
python - デフォルト値を返す
クラスに関数があります:
def foo(self, value = None):
if value is None:
return self.value
self.value = value
return self
これは getter と setter を 1 つにまとめたもので、次のように関数を連鎖できるという利点があります。
three = anInstanceOfMyClass.foo(3).bar().foo()
次のようにすると問題が発生します。
shouldBeNoneButIsThree = anInstanceOfMyClass.foo(3).foo(None).foo()
ここで foo は、引数を渡さなかったと考えています。次の方法でこれを回避できます。
- ランダムな文字列のような奇妙なオブジェクトに値を設定する
- 値がデフォルト値として持つコンストラクターでオブジェクトインスタンスを作成します
どちらも少し手間がかかりすぎるように思えます。より簡単な方法は何ですか?
値を何かに設定する