【发布时间】:2011-02-07 15:04:21
【问题描述】:
当我回顾我的 VB6 时代并想“什么现代语言不允许使用双加号递增?”时,我总是自嘲:
number++
令我惊讶的是,我在 Python 文档中找不到任何关于此的内容。我真的必须服从number = number + 1吗?人们不使用++ / -- 表示法吗?
【问题讨论】:
-
我很高兴我们不必忍受像
a[i] = i++;这样的 C++ 中的评估顺序未定义的事情。 -
按给定顺序回答您的问题:“Erlang、Python、Lua 等”(用于创建 C 之后的“现代”含义); “不”;和“不一定”。
-
不同意你们的观点:
i++写的少,读的少。少读意味着大脑可以更多地关注全局。 -
@TimPietzcker:更好的解决方案是很好地定义评估顺序,可能从左到右,而不是放弃一个有用的运算符。对 OP 来说:Python 几乎不是一种现代语言......实际上是一种相当糟糕的语言,尽管被广泛使用。
-
@uoɥʇʎPʎzɐɹC 两者都不是特别复杂,也不是丑陋的。第一个比较容易理解。