欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3多目標賦值及共享引用注意事項

 更新時間:2019年05月27日 08:41:31   作者:若數(shù)  
這篇文章主要介紹了Python3多目標賦值及共享引用注意事項,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

Python中多目標賦值即將等號左邊所有的變量名都賦值給右邊的對象,完成賦值操作,比如將三個變量同時賦值給一個字符串。

a = b = c = 'Python'
print(a)
print(b)
print(c)

示例結(jié)果:

Python
Python
Python

在多目標賦值中,其本質(zhì)即類似三個變量的指針指向了同一個內(nèi)存空間,即三個變量共享了內(nèi)存內(nèi)同一對象。

不可變對象

對于不可變對象來說,我們在使用這些變量是不存在問題的。

a = b = c = 'Python'
print(a)
print(b)
print(c)
a = 'i like Python'
b = 'Python make me happy'
print(a)
print(b)
print(c)

示例結(jié)果:

i like Python
Python make me happy
Python

可以看到這些變量并不會互相影響。

可變對象

而對可變對象來說,比如列表,字典等,多目標賦值變量的使用便會變得棘手些。

L1 = L2 = [1, 2, 3, 4, 5]
print(L1)
print(L2)
# 更改列表L2,從列表尾部刪除一個元素
L2.pop()
print(L1)
print(L2)

示例結(jié)果:

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
[1, 2, 3, 4]

即當我們在使用多目標賦值時,需要考慮對象本身屬性是否為可變對象,否則我們應該考慮對每個變量名進行單獨賦值或者利用淺拷貝、深拷貝(參考上上...上節(jié)《Python列表賦值,復制,深拷貝以及5種淺拷貝詳解》)等方式完成多變量的可變對象的賦值,比如我們對多變量進行分別賦值。

L1 = [1, 2, 3, 4, 5]
L2 = [1, 2, 3, 4, 5]
print(L1)
print(L2)
print(id(L1), id(L2))
L2.pop()
print(L1)
print(L2)

示例結(jié)果:

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
2600790220872 2600790206216
[1, 2, 3, 4, 5]
[1, 2, 3, 4]

總結(jié)

以上所述是小編給大家介紹的Python3多目標賦值及共享引用注意事項,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • python rsa實現(xiàn)數(shù)據(jù)加密和解密、簽名加密和驗簽功能

    python rsa實現(xiàn)數(shù)據(jù)加密和解密、簽名加密和驗簽功能

    本篇文章主要說明python庫rsa生成密鑰對數(shù)據(jù)的加密解密,api接口的簽名和驗簽功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-09-09
  • Python數(shù)據(jù)分析的八種處理缺失值方法詳解

    Python數(shù)據(jù)分析的八種處理缺失值方法詳解

    缺失值可能是數(shù)據(jù)科學中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當?shù)靥幚硭鼈兊姆椒?/div> 2021-11-11
  • Python 逐行分割大txt文件的方法

    Python 逐行分割大txt文件的方法

    本文通過代碼給大家介紹了Python 逐行分割大txt文件的方法,在文中給大家提到了Python從txt文件中逐行讀取數(shù)據(jù)的方法,需要的朋友參考下吧
    2017-10-10
  • 淺析pytest?鉤子函數(shù)?之初始鉤子和引導鉤子

    淺析pytest?鉤子函數(shù)?之初始鉤子和引導鉤子

    這篇文章主要介紹了pytest?鉤子函數(shù)?之初始鉤子和引導鉤子,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Python中g(shù)etpass模塊無回顯輸入源碼解析

    Python中g(shù)etpass模塊無回顯輸入源碼解析

    這篇文章主要介紹了Python中g(shù)etpass模塊無回顯輸入源碼解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 淺談python內(nèi)置變量-reversed(seq)

    淺談python內(nèi)置變量-reversed(seq)

    下面小編就為大家?guī)硪黄獪\談python內(nèi)置變量-reversed(seq)。小編覺得挺不錯的。現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Django驗證碼的生成與使用示例

    Django驗證碼的生成與使用示例

    關(guān)于django的驗證碼的使用,在網(wǎng)上找到了相關(guān)的資料,現(xiàn)在整理一下分享給大家,下面這篇文章主要給大家介紹了關(guān)于Django驗證碼的生成與使用的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Python pygame繪制文字制作滾動文字過程解析

    Python pygame繪制文字制作滾動文字過程解析

    這篇文章主要介紹了Python pygame繪制文字制作滾動文字過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 僅用幾行Python代碼就能復制她的U盤文件?

    僅用幾行Python代碼就能復制她的U盤文件?

    上大學的時候有老師不給上課的PPT,就總想有個程序能偷偷復制老師的U盤一直沒有去實現(xiàn),最近不想看論文就想起來這個事情了,發(fā)現(xiàn)其實用幾行python代碼就能搞定.分兩步,首先寫出來python代碼,其次把.py文件轉(zhuǎn)換成exe文件,直接在windows電腦上后臺運行,需要的朋友可以參考下
    2021-06-06
  • Python requests HTTP驗證登錄實現(xiàn)流程

    Python requests HTTP驗證登錄實現(xiàn)流程

    這篇文章主要介紹了Python requests HTTP驗證登錄實現(xiàn)流程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論