0

我读过这样的剧本

for ... :
   for ...:
      ++i

但这是什么++意思?++运算符是python吗?

4

4 回答 4

10

在 python 中,这只是一元加两次。它什么也没做。一个可能会将 bool 强制转换为 int,但第二个完全没用。

于 2013-04-16T12:44:30.023 回答
6
>>> +1
1
>>> ++1
1
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1
1
于 2013-04-16T12:44:36.060 回答
3

Python 是一种隐式类型语言,因此,除非我们知道变量的类型,否则如果我们对它应用运算符,我们无法确定会发生什么。在您的示例中,i不一定是整数,它可以是具有重载一元 + ( __pos__) 的对象,例如:

class Duplicator(object):
    def __init__(self, s):
        self.s = s

    def __pos__(self):
        self.s += self.s
        return self

    def __str__(self):
        return self.s

z = Duplicator("ha ")
# 1000 lines of code
print +z
print ++z
print +++z

所以你的问题“++x在python中意味着什么”的答案是“它取决于什么x”。

于 2013-04-16T14:04:14.660 回答
3

您可以使用i+=1而不是i++for 您的 for 循环。Python中没有++用法。

于 2013-04-16T12:44:36.467 回答