* =在python中是什么意思?

西蒙·恩纳瑞德

例如下面的代码:

def product(list):
    p =1
    for i in list:
        p *= i
    return p

我找到了这段代码,但是我需要能够解释它的每个部分。

邓肯

通常p *= i与相同p = p * i

有时情况可能有所不同,我认为已经发布的解释还不够清楚,因此:

当p是可变对象时,它可以不同。在那种情况下,就地*=可以修改原始对象,而不是创建一个新对象。比较q以下每种情况会发生什么

>>> p = q = [2]
>>> p *= 5
>>> p
[2, 2, 2, 2, 2]
>>> q
[2, 2, 2, 2, 2]

>>> p = q = [2]
>>> p = p * 5
>>> p
[2, 2, 2, 2, 2]
>>> q
[2]

如果p是带有副作用的复杂表达式时,if也可以不同,因为就地版本仅计算一次子表达式。因此,例如:

aList[randint(0, 5)] *= 3

与以下内容不同:

aList[randint(0, 5)] = aList[randint(0, 5)] * 3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

| =在python中是什么意思?

来自分类Dev

在Python中,=是什么意思?

来自分类Dev

“ if var”在python中是什么意思?

来自分类Dev

在Python示例中,“ >>>”是什么意思?

来自分类Dev

“ Bucket”在python中是什么意思?

来自分类Dev

[[...]]在python中是什么意思?

来自分类Dev

python中的&\是什么意思

来自分类Dev

在NumPy Python中是什么意思?

来自分类Dev

* map在python中是什么意思?

来自分类Dev

“ >>”和“ <<”在python中是什么意思?

来自分类Dev

python中的<-、、>-、、 <+ 、、 >>是什么意思?

来自分类Dev

asterix *在Python中是什么意思

来自分类Dev

Python 中的“a==('a' or 'b')”是什么意思?

来自分类Dev

“”在python中是什么意思?

来自分类Dev

python [...]是什么意思?

来自分类Dev

* on python是什么意思?

来自分类Dev

* on python是什么意思?

来自分类Dev

“ !!”是什么意思 在haskell中是什么意思?

来自分类Dev

在Python函数中,参数中单独的*是什么意思

来自分类Dev

time(...)中的“ ...”在python的timedate类中是什么意思?

来自分类Dev

在Python中是什么意思?(不在列表中)

来自分类Dev

Python中冒号等于(:=)是什么意思?

来自分类常见问题

Python注释中的“#noqa”是什么意思?

来自分类Dev

python中for循环中的[]方括号是什么意思?

来自分类Dev

python中的numpy reduceat()是什么意思?

来自分类Dev

Python:set()中的理解是什么意思?

来自分类Dev

* tuple和** dict在Python中是什么意思?

来自分类Dev

python源代码中的“ .main”是什么意思?

来自分类Dev

Python中的空返回是什么意思?