python怎麼給x賦值 Python賦值魔法技巧

2021-10-11 22:38:13 字數 1630 閱讀 4617

實驗環境:

[root@localhost ~]# python -v

python 2.7.5

1.序列解包

多個賦值操作可以同時進行

>>> x,y,z = 1,2,3

>>> x

>>> print y,z

2 3交換兩個或者多個變數也是可以的

>>> x,y = y,x

>>> print x,y,z

2 1 3

這裡所做的事叫做序列解包或者遞迴解包--將多個值的序列解開,然後放到變數的序列中。更形象的表示:

>>> values = 1,2,3

>>> values

(1, 2, 3)

>>> x,y,z = values

>>> print x,y,z

1 2 3

當函式或者方法返回元組(或者其他序列或者可迭代物件)時,這個特性顯得更為有用。假設需要獲取(和刪除)字典中任意的鍵-值對,可以使用popitem方法,這個方法將鍵-值對作為元組返回。那麼這個元組就可以直接賦值到兩個變數中。

>>> addresslist =

>>> key,value = addresslist.popitem()

>>> key

'ni'

>>> value

'23456'

序列解包允許函式返回乙個以上的值並且打包成元組,然後通過乙個賦值語句很容易進行訪問。所以解包的序列中的元素數量必須和放置在賦值符號=左邊的變數數量完全一致。否則python在賦值的時候就會引發異常。

>>> x,y,z = 1,2

traceback (most recent call last):

file "", line 1, in

valueerror: need more than 2 values to unpack

>>> x,y,z = 1,2,3,4

traceback (most recent call last):

file "", line 1, in

valueerror: too many values to unpack

2.鏈式賦值

鏈式賦值是將同乙個賦值給多個變數的捷徑。有點像上面的並行賦值,不過只處理乙個值

>>> x=y=[1,2,3]

>>> print x,y

[1, 2, 3] [1, 2, 3]

等價於y=[1,2,3]

x=y3.增量賦值

將賦值表示式中x=x+1的表示式運算子(本例中是+)放置在賦值運算子=的左邊,寫成x+=1。這種寫法叫做增量賦值,對於*、/、%等標準運算子都適用。

>>> x=2

>>> x+=1

>>> x

>>> x*=2

>>> x

對於其他資料型別也同樣適應。只要二元運算子本身適用這些資料型別即可。

>>> fnord='foo'

>>> fnord+='bar'

>>> fnord

'foobar'

>>> fnord*=2

>>> fnord

'foobarfoobar'

增量賦值可以讓**變得更加緊湊和簡練。

參考:python基礎教程(第二版.修訂版)

reg型變數怎麼賦值 python怎麼給變數賦值

在學習變數及賦值之前,我們要知道什麼是變數!舉個例子,3 4 12,在寫乙個算數程式的時候,我們往往會遇到很多個3 4 12 在多次用到這個程式的時候有兩種方法 一種方法是直接在 中打出 3 4 另一種是用乙個變數來儲存 3 4 比如 輸出結果為12 如果運用了變數,在程式中只要輸入z,就可以直接呼...

Python學習入門8 新人怎麼學習Python

人生苦短 我用python 不論學習什麼語言 乙個好的基礎才是你成為高階開發人員的基石。隨著人工智慧和大資料的火熱,python成為了廣大科學家和普通大眾的學習語言。在學習python的過程中,有很多人感到迷茫,不知道自己該從什麼地方入手,今天我們就來說一些新手該如何學習python程式設計。在學習...

python 同時給多個變數賦值

python中可以同時給多個變數賦值,下面列舉了三種方法 assign values directly a,b 0,1 assert a 0 assert b 1 assign values from a list r,g,b red green blue assert r red assert g...