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

Python中賦值的含義及說明

 更新時(shí)間:2022年11月30日 08:50:18   作者:vanlywang  
這篇文章主要介紹了Python中賦值的含義及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python中賦值的含義

在C++中,變量就是對(duì)象本身,對(duì)變量賦值就改變了它代表的對(duì)象。

而在Python中,賦值的含義卻是關(guān)聯(lián)變量名字和實(shí)際對(duì)象,即變量指向了實(shí)際對(duì)象,當(dāng)對(duì)變量再次賦值時(shí),變量原來指向的對(duì)象并不會(huì)改變(其實(shí)對(duì)象的reference count會(huì)減1),而是變量指向了新的對(duì)象而已。

所以這還導(dǎo)致了一個(gè)后果,當(dāng)多個(gè)變量指向同一個(gè)對(duì)象時(shí),那么用其中一個(gè)變量修改對(duì)象后,其它指向同一對(duì)象的變量也“被改變”了。

下面的代碼清楚地顯示了這一點(diǎn):

>>> a = [0, 1, 2, 3]
>>> b = a
>>> a
[0, 1, 2, 3]
>>> b
[0, 1, 2, 3]
>>> a[0] = 99
>>> a
[99, 1, 2, 3]
>>> b
[99, 1, 2, 3]
>>> a = [5, 6, 7, 8]
>>> a
[5, 6, 7, 8]
>>> b
[99, 1, 2, 3]      

Python賦值語(yǔ)句的多種形式

Python語(yǔ)言本身有許多獨(dú)特之處, 入門易難精通(另一個(gè)角度看,簡(jiǎn)單但強(qiáng)勁的語(yǔ)法背后隱藏了許多復(fù)雜的實(shí)現(xiàn)),現(xiàn)以Python賦值語(yǔ)句的多種形式為例說明。

賦值語(yǔ)句的特性

賦值語(yǔ)句創(chuàng)建對(duì)象引用,而不是對(duì)象復(fù)制;

變量在首次賦值時(shí)會(huì)被創(chuàng)建,不必提前預(yù)聲明變量名;

變量在引用前必須先賦值;

執(zhí)行隱式賦值的一些操作,如: 模塊導(dǎo)入、函數(shù)和類的定義、函數(shù)參數(shù)、for循環(huán)變量。

運(yùn)算

解釋

spam = 'Spam'

基礎(chǔ)(basic)形式

spam, ham = 'yum', 'YUM'

元組賦值(基于位置)

[spam, ham] = ['yun', 'YUM']

列表賦值(基于位置)

a, b, c, d = 'Spam'

推廣的(generalized)序列賦值

a, *b = 'Spam'

擴(kuò)展序列解包(Unpacking:解包、拆包)

spam = ham = 'lunch'

多目標(biāo)(multiple target)賦值

spam += 42

增強(qiáng)(augmented)賦值

上表取自《Python學(xué)習(xí)手冊(cè)》表 11-1

基礎(chǔ)(basic)形式

常見,如:

a=123

元組賦值(元組解包賦值)

a, b, c= 1, 2, "john"

等同于 (a, b, c) = (1, 2, "john")

兩個(gè)整型對(duì)象1和2的分配給變量 a 和 b,字符串對(duì)象 "john" 分配給變量 c。元組可以省略括號(hào)。

也是一種交換兩個(gè)變量的值,卻不需要自行創(chuàng)建臨時(shí)變量的方式,見后邊“Python中交換兩個(gè)變量的值”法二。

列表賦值(列表解包賦值)

[x, y, z] = [10, 20, 30]

推廣的(generalized)序列賦值

可以為多個(gè)對(duì)象指定多個(gè)變量。任何序列或其它可迭代的值可以付給長(zhǎng)度相同的名稱序列。如:

a, b, c = 'xyz'

參見下圖:

擴(kuò)展序列解包(Extended sequence unpacking)

帶星號(hào)前綴的變量名字,可以收集未被匹配的元素項(xiàng)。如:

a, *b, c = [1, 2, 3, 4]

參見下圖:

多目標(biāo)(multiple target)賦值

Python允許你同時(shí)為多個(gè)變量賦值。例如:

a = b = c = 2

以上實(shí)例,創(chuàng)建一個(gè)整型對(duì)象,值為2,三個(gè)變量被分配到相同的內(nèi)存空間上。

增強(qiáng)(augmented)賦值

除+=外,還有-=、*=、/=、%=、**=、//=

【簡(jiǎn)要說明】

運(yùn)算符

描述

功效

+=

加法賦值運(yùn)算符

c += a 等效于 c = c + a

-=

減法賦值運(yùn)算符

c -= a 等效于 c = c - a

*=

乘法賦值運(yùn)算符

c *= a 等效于 c = c * a

/=

除法賦值運(yùn)算符

c /= a 等效于 c = c / a

%=

取模賦值運(yùn)算符

c %= a 等效于 c = c % a

**=

冪賦值運(yùn)算符

c **= a 等效于 c = c ** a

//=

取整除賦值運(yùn)算符

c //= a 等效于 c = c // a

Python中交換兩個(gè)變量的值

假設(shè)

x = 10

y = 20

法一: 創(chuàng)建臨時(shí)變量,并交換

臨時(shí)變量 temp ,將 x 的值存儲(chǔ)在 temp 變量中,接著將 y 值賦給 x,最后將 temp 賦值給 y 變量。

temp = x

x = y

y = temp

法二:不使用臨時(shí)變量,python特有的,利用元組賦值

x, y = y, x

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python爬蟲將爬取的圖片寫入world文檔的方法

    Python爬蟲將爬取的圖片寫入world文檔的方法

    今天小編就為大家分享一篇Python爬蟲將爬取的圖片寫入world文檔的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Pydantic中BaseConfig的具體使用

    Pydantic中BaseConfig的具體使用

    本文主要介紹了Pydantic中BaseConfig的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • pytorch中index_select()的用法詳解

    pytorch中index_select()的用法詳解

    這篇文章主要介紹了pytorch中index_select()的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python list列表刪除元素的4種方法

    Python list列表刪除元素的4種方法

    本文主要介紹了Python list列表刪除元素的4種方法,主要包括del、pop、remove、clear,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-11-11
  • python提取具有某種特定字符串的行數(shù)據(jù)方法

    python提取具有某種特定字符串的行數(shù)據(jù)方法

    今天小編就為大家分享一篇python提取具有某種特定字符串的行數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python中[[]] * (n)和[[] for _ in range(n)]的區(qū)別詳解

    python中[[]] * (n)和[[] for _ in 

    本文主要介紹了python中[[]] * (n)和[[] for _ in range(n)]的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解

    python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python 調(diào)試器pdb的簡(jiǎn)單使用

    python 調(diào)試器pdb的簡(jiǎn)單使用

    這篇文章主要介紹了python 調(diào)試器pdb的簡(jiǎn)單使用,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • python定位xpath 節(jié)點(diǎn)位置的方法

    python定位xpath 節(jié)點(diǎn)位置的方法

    今天小編就為大家分享一篇python定位xpath 節(jié)點(diǎn)位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 一行Python代碼過濾標(biāo)點(diǎn)符號(hào)等特殊字符

    一行Python代碼過濾標(biāo)點(diǎn)符號(hào)等特殊字符

    這篇文章主要介紹了一行Python代碼過濾標(biāo)點(diǎn)符號(hào)等特殊字符的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論