在寻找,因为我认为风格确实很重要。如果您不再重复使用"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