2

Python3.2 では、これを行うことができます。

foo = Bar()
foo.setSomething(something1).setStatus('horizontal').setAttributes(attributes)

最終的にチェーンはかなり長くなります。垂直連鎖にかゆみがあります。

foo = Bar()
foo.setSomething(something1)
   .setStatus('vertical')
   .setAttributes(attributes)

それを行う方法はありますか?

4

2 に答える 2

2

式を括弧で囲むだけです。

foo = Bar()
(foo.setSomething(something1)
     .setStatus('vertical')
     .setAttributes(attributes))
于 2012-12-03T14:53:51.633 に答える
2

確かに機能する答えを@Krottonに感謝します。また、リンクを提供してくれた@seanにも感謝します。したがって、垂直チェーンを使用する正しい方法は次のとおりです。

foo = Bar()
(foo.setSomething(something1)
     .setStatus('vertical')
     .setAttributes(attributes))

複数行の文字列の場合と同様に、構文を使用して垂直方向のチェーンを許可することもできます。

foo = Bar()
foo.setSomething(something1)\
   .setStatus('vertical')\
   .setAttributes(attributes)
于 2012-12-03T14:59:48.900 に答える