在尋找,因爲我認爲風格確實很重要。如果您不再重複使用"picture.jpg"
和makePicture(…)
,我肯定會選擇show(makePicture("picture.jpg"))
。原因是:
- 這完全是易讀。
- 這使得代碼更快地閱讀(不需要花費比它需要更多的時間)。
- 如果你使用變量,你發送一個信號給讀取代碼的人(包括你,在一段時間之後)變量是重複使用代碼中的某處,並且他們應該更好地在工作中長期)記憶。 (在20世紀60年代,實驗表明,一次可以記住大約7條信息,一次,一些現代實驗的數字較小)。所以,如果這些變量不會在任何地方重複使用,他們通常應該被刪除,以免污染讀者的短期記憶。
我認爲你的問題很有效,你應該絕對不能在這裏使用的中間變量,除非它們是必要(因爲它們被重用,或者因爲它們有助於打破直接理解部分複雜表達式)。這種做法會使你的代碼更清晰,並會給你良好的習慣。
PS:正如Blender指出的,有許多嵌套函數調用可以使代碼難以閱讀。如果是這種情況,我建議考慮使用中間變量來保存有意義的信息,以便函數調用不包含太多的嵌套級別。
PPS:由於pcurry指出,嵌套函數調用,也可以很容易地分解成許多行,如果他們變得太長,它可以使有關代碼清晰,就好像使用中間變量,以造福不使用任何:
print_summary(
energy=solar_panel.energy_produced(time_of_the_day),
losses=solar_panel.loss_ratio(),
output_path="/tmp/out.txt"
)
來源
2013-06-12 01:03:23
EOL
你到底在問什麼?第二個規則是「從內到外」 - 首先評估最深括號內的內容,然後評估最外層的內容。這與你在第一種情況下所做的完全相同。 (另外,你在第二個例子中錯過了右括號。) – BrenBarn
我不確定你在問什麼@Danrex。 – brice
無論如何,避免命名變量'file',因爲這是一個內置的Python類。 :) – EOL