Python速记运算符?

nma*_*rko 3 python shorthand

我正在研究有关试验部门主题的一些信息,我在Python中遇到了这个符号:

//=
Run Code Online (Sandbox Code Playgroud)

我从这里得到了这个例子中的代码说:

n //= p
Run Code Online (Sandbox Code Playgroud)

我不知道这是什么意思,我的研究继续在网页方面带来糟糕的结果.

任何帮助表示赞赏; 谢谢.

Joc*_*zel 9

// 是整数除法和

n //= p
Run Code Online (Sandbox Code Playgroud)

语法是简短的

n = n // p
Run Code Online (Sandbox Code Playgroud)

除非值n直接修改,如果它支持这个.


Don*_*ner 5

当您看到一个运算符后跟一个 时=,即正在执行该操作,然后将其分配给变量。例如,x += 2表示x = x + 2或加 2 到x

//运算符专门进行整数除法而不是浮点除法。例如,5 // 4给你1,同时5 / 4给你1.25(在 Python 3 中)。

因此,x //= 3意味着除以x3(以整数除法的方式),并将值存储回x。它相当于x = x // 3

  • 同样重要的是要注意,一般情况下就地操作可能使用与标准操作不同的例程。例如,对于“list”“L”:“L = L + [1]”在内存中创建一个不同的列表并将其分配给“L”,但“L += [1]”只是扩展了相同的列表如“L.extend([1])”。不过,整数的情况并非如此,因为它们是不可变的。 (2认同)