縮進風格從閱讀PEP-8,我明白了,你應該把右括號放在同一行中函數的最後一個參數調用:鏈式方法調用在Python
ShortName.objects.distinct().filter(
product__photo__stockitem__isnull=False)
也許,長表情最好避免。但是,如果這是不可取的,你會怎麼去關於多個鏈接的方法調用?關閉的人應該在一個新的線上?
ShortName.objects.distinct().filter(
product__photo__stockitem__isnull=False
).values_list('value', flat=True)
那麼無參數方法呢? 如何在不引用中間返回值的情況下將它們寫入多行?
ShortName.objects.distinct(
).filter().values() # looks ugly
更新:還有的How to break a line of chained methods in Python?重複的問題。 accepted answer表明從jQuery風格開始,每個新行都帶有一個點。作者沒有提供任何理由或權威參考,所以我想獲得關於這種風格或其他選擇的確認。
我喜歡這種方法。它還有一個很大的優點,就是可以在不用擔心標點符號的情況下移動文本行(除了第一行和最後一行)。在處理複雜的SQLAlchemy查詢時,我主要使用鏈接調用,並且很容易重新排列它們。 – 2011-12-30 19:32:30
確實看起來更好,並且您還縮進了評論。謝謝! – katspaugh 2011-12-30 19:37:17
Raymond,Python不允許在點之前和之後添加新行的原因是什麼?這使好的格式化變得更加容易... – 2013-04-01 18:45:56