亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中表達(dá)式x += y和x = x+y 的區(qū)別詳解

 更新時(shí)間:2017年06月20日 11:05:45   作者:hooog  
這篇文章主要跟大家介紹了關(guān)于Python中x += y和x = x+y 的區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。

前言

本文主要給大家介紹的是關(guān)于Python中表達(dá)式x += y和x = x+y 區(qū)別的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面來(lái)看看詳細(xì)的介紹:

直接看下面代碼:

x +=y

In [66]: id(a)
Out[66]: 4476839480

In [67]: id(b)
Out[67]: 4476839480

In [68]: a = [1, 2, 3]

In [69]: b = a

In [70]: id(a)
Out[70]: 4477149984

In [71]: id(b)
Out[71]: 4477149984

In [72]: a += [4, 5, 6]

In [73]: a
Out[73]: [1, 2, 3, 4, 5, 6]

In [74]: b
Out[74]: [1, 2, 3, 4, 5, 6]

In [75]: id(a)
Out[75]: 4477149984

In [76]: id(b)
Out[76]: 4477149984

x = x + y

In [77]: a = [1, 2, 3]

In [78]: b = a

In [79]: id(a)
Out[79]: 4476686208

In [80]: id(b)
Out[80]: 4476686208

In [81]: a = a + [4, 5, 6]

In [82]: a
Out[82]: [1, 2, 3, 4, 5, 6]

In [83]: b
Out[83]: [1, 2, 3]

In [84]: id(a)
Out[84]: 4477187640

In [85]: id(b)
Out[85]: 4476686208

可以看出對(duì)于可變對(duì)象而言 x = x + y 這種形式已經(jīng)改變了x的指向,而不是"inplace"的修改。

使用dis模塊進(jìn)行一下驗(yàn)證。

In [86]: def foo(x, y):
 ...:  x += y
 ...:  return x
 ...:

In [87]: def foo(x, y):
 ...:  x += y
 ...:

In [88]: def foo2(x, y):
 ...:  x = x + y
 ...:

In [89]: dis.dis(foo)
 2   0 LOAD_FAST    0 (x)
    3 LOAD_FAST    1 (y)
    6 INPLACE_ADD
    7 STORE_FAST    0 (x)
    10 LOAD_CONST    0 (None)
    13 RETURN_VALUE

In [90]: dis.dis(foo2)
 2   0 LOAD_FAST    0 (x)
    3 LOAD_FAST    1 (y)
    6 BINARY_ADD
    7 STORE_FAST    0 (x)
    10 LOAD_CONST    0 (None)
    13 RETURN_VALUE

可以看到字節(jié)碼是不同的:

  • += 對(duì)應(yīng) INPLACE_ADD
  • 對(duì)應(yīng)BINARY_ADD

注意:以上僅適用于CPython實(shí)現(xiàn)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • python中time、datetime模塊的使用

    python中time、datetime模塊的使用

    這篇文章主要介紹了python中time、datetime模塊的使用,幫助大家更好的利用python處理時(shí)間,感興趣的朋友可以了解下
    2020-12-12
  • pytorch如何實(shí)現(xiàn)邏輯回歸

    pytorch如何實(shí)現(xiàn)邏輯回歸

    這篇文章主要介紹了pytorch如何實(shí)現(xiàn)邏輯回歸問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python繪制雪景圖

    python繪制雪景圖

    這篇文章主要為大家詳細(xì)介紹了python繪制雪景圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Python pandas dataframe之重命名相同列名

    Python pandas dataframe之重命名相同列名

    這篇文章主要介紹了Python pandas dataframe之重命名相同列名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 通過(guò)代碼實(shí)例了解Python異常本質(zhì)

    通過(guò)代碼實(shí)例了解Python異常本質(zhì)

    這篇文章主要介紹了通過(guò)代碼實(shí)例了解Python1異常本質(zhì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 分布式爬蟲scrapy-redis的實(shí)戰(zhàn)踩坑記錄

    分布式爬蟲scrapy-redis的實(shí)戰(zhàn)踩坑記錄

    最近用scrapy-redis嘗試了分布式爬蟲,使用過(guò)程中也遇到了不少問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于分布式爬蟲scrapy-redis的實(shí)戰(zhàn)踩坑記錄,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python 實(shí)現(xiàn)Numpy中找出array中最大值所對(duì)應(yīng)的行和列

    Python 實(shí)現(xiàn)Numpy中找出array中最大值所對(duì)應(yīng)的行和列

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)Numpy中找出array中最大值所對(duì)應(yīng)的行和列,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python3解析庫(kù)pyquery的深入講解

    python3解析庫(kù)pyquery的深入講解

    做過(guò)前端開發(fā)的同志都應(yīng)該知道或了解過(guò)jquery,jQuery 是一個(gè)用來(lái)處理DOM的JavaScript庫(kù)。pyquery說(shuō)白了就是jquery的Python版本。下面這篇文章主要給大家介紹了關(guān)于python3解析庫(kù)pyquery的相關(guān)資料,需要的朋友可以參考下
    2018-06-06
  • Python實(shí)現(xiàn)如何根據(jù)文件后綴進(jìn)行分類

    Python實(shí)現(xiàn)如何根據(jù)文件后綴進(jìn)行分類

    本文主要為大家詳細(xì)介紹了如何通過(guò)python實(shí)現(xiàn)根據(jù)文件后綴實(shí)現(xiàn)分類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以關(guān)注一下
    2021-12-12
  • python 設(shè)置文件編碼格式的實(shí)現(xiàn)方法

    python 設(shè)置文件編碼格式的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇python 設(shè)置文件編碼格式的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12

最新評(píng)論