在python中我** = 2意味着什么?它2 ^ i =我?

时间:2014-03-29 11:54:40

标签: python python-3.x

def f()
   i=2
   while i<len(l)
   i**=2

是什么     I ** = 2 在python中意味着什么?它是2 ^ i = i?

1 个答案:

答案 0 :(得分:5)

i **= 2使用带有幂运算符的扩充赋值。对于数字(和其他不可变对象),它与:

相同
i = i ** 2

i的正方形存储在i中。 ** operator是幂运算符,将左侧操作数返回到右侧操作数的幂。

**= assignment是该运算符的扩充赋值版本。如果对象是可变的,它为左侧操作数提供了在线应用更改的机会。对于不可变对象,它是一个很好的紧凑符号。

您的示例代码段不是有效的Python;你需要记住你的缩进(while块需要另一个级别)并且你缺少:语句和def语句的while冒号:

def f():
    i = 2
    while i < len(l):
        i **= 2

据推测,该函数将使用i执行更多操作或返回结果。