变量赋值的最佳实践以及为什么?

Mup*_*pet 3 python

我想知道你们认为分配变量值的最佳实践是什么。“懒惰”的情况:

signal = -1
if (date.month != nextDate.month):
    signal = +1
Run Code Online (Sandbox Code Playgroud)

或完全披露的案例:

if (date.month != nextDate.month):
    signal = +1
else:
    signal = -1
Run Code Online (Sandbox Code Playgroud)

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

Col*_*nic 5

选择完全公开的案例。

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

能够快速识别正在发生的事情非常重要,而完全披露的案例最能做到这一点。请记住,您的代码被读取的次数将多于编写的次数,因此请让未来的代码读者更容易阅读。