Python 中的“变量 //= 值”语法是啥意思? [复制]

Posted

技术标签:

【中文标题】Python 中的“变量 //= 值”语法是啥意思? [复制]【英文标题】:What does the "variable //= a value" syntax mean in Python? [duplicate]Python 中的“变量 //= 值”语法是什么意思? [复制] 【发布时间】:2017-03-09 12:34:13 【问题描述】:

我遇到了代码语法d //= 2,其中 d 是一个变量。这不是任何循环的一部分,我不太明白这个表达式。 有人可以启发我吗?

【问题讨论】:

我们应该将此作为规范答案,并关闭措辞不太有用的 Two forward slashes in Python 作为此重复。 另一个 2013 answer 很容易在 stackse 使用 python //= 查询找到。 谷歌搜索“python 运算符”优先 文档有一个索引,其首页标题为Symbols。该页面上的//= 条目链接到docs.python.org/3/reference/… 【参考方案1】:

将变量除以二并分配新的数量给变量。

【讨论】:

【参考方案2】:

它将d 除以 2,向下取整。 Python可以交互运行,试试吧。

$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
>>> a = 4
>>> a //= 2
>>> a
2

【讨论】:

a = 5 会是一个更好的例子。 (与a /= 2对比)【参考方案3】:

// 是楼层除法运算符。旁边的= 表示对变量“就地”进行操作。它类似于 +=*= 运算符,如果你以前见过的话,除了这个是除法。

假设我有一个名为d 的变量。我将它的值设置为65,就像这样。

>>> d = 65

调用d //= 2 会将d 除以2,然后将该结果分配给d。因为,d // 2 是 32(32.5,但去掉了小数部分),d 变为 32:

>>> d //= 2
>>> d
32

和调用d = d // 2一样。

【讨论】:

这种情况下是一样的,但一般情况下不一定一样。参见docs.python.org/3/library/operator.html#operator.__floordiv__ 与docs.python.org/3.4/library/…。

以上是关于Python 中的“变量 //= 值”语法是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中, ++x 是正确的语法。 “++x”是啥意思? [复制]

是啥? JavaScript 中的语法是啥意思?

python里的end是啥意思

python语法:HandlerType = Callable[[Event], None]这句是啥意思?

python中**是啥意思?

Binding 语法的 StringFormat 部分中的 括号是啥意思?