变量赋值的最佳实践是什么?

时间:2013-09-16 18:07:34

标签: python

我想知道你们认为分配变量值的最佳做法。 '懒惰'案例:

signal = -1
if (date.month != nextDate.month):
    signal = +1

或完全披露的案例:

if (date.month != nextDate.month):
    signal = +1
else:
    signal = -1

两种情况的优点/缺点是什么?

3 个答案:

答案 0 :(得分:4)

选择完全披露的案例。

  • 它清楚地表明signal是根据某些条件(实际上是一个switch语句)
  • 分配的
  • 这些条件以表格格式列出,非常易读
  • 单一分配比双重分配更不容易出错

重要的是能够快速识别正在发生的事情,并且完全公开的案例做得最好。请记住,您的代码将读取的次数超过其编写时间,因此可以使代码的未来读者更容易。

答案 1 :(得分:2)

为什么不

signal = -1 if date.month == nextDate.month else 1

简单易读。

答案 2 :(得分:0)

在实践中,我倾向于使用第一个(“懒惰”)案例。它更简洁,而且很清楚它的作用。

我实际上认为功能版本更好(即python的if表达式),我会尝试切换到使用它。