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”是啥意思? [复制]