python全棧之路系列之賦值與運算子

2022-03-22 17:18:09 字數 2900 閱讀 6439

在繼續下面的文章之前我們先來瀏覽一下python為我們提供的幾種運算子,定義兩個變數,分別是a和b,a的值是10,b的值是20。

運算子描述例項+

加,兩個物件相加

a+b=30

-減,兩個物件相減,可能會得到負數

a-b=-10

*乘,兩數相稱或是返回乙個被重複若干次的字串

a*b=200

/除,兩個物件相除

b/a=2

%取膜,返回除法的餘數

b%a=0

**冪,返回x的y次冪

a**b=100000000000000000000l

//整除餘,返回商的整數部分

a//b=0

運算子描述

例項==

等於,比較兩個物件是否相等

a==b返回false

!=不等於,比較兩個物件是否不相等

a!=b返回true

<>

不等於,比較兩個物件是否不相等

a<>b返回true

>

大於,比較x是否大於y,

a>b返回false

<

小於,比較x是否小於y

a>=

大於等於,比較x是否大於等於y

a>=b返回false

<=

小於等於,比較x是否小於等於y

a<=b返回true

運算子描述例項=

賦值運算子

c=a+b,將a+b的運算結果賦值給c

+=加法賦值運算子

c += a等效於c = c + a

-=減法賦值運算子

c -= a等效於c = c - a

*=乘法賦值運算子

c *= a等效於c = c * a

/=除法賦值運算子

c /= a等效於c = c / a

%=取模賦值運算子

c %= a等效於c = c % a

**=冪賦值運算子

c **= a等效於c = c ** a

//=取整除賦值運算子

c //= a等效於c = c // a

運算子描述

例項and

「與」a and b返回true

or「或」

a or b返回true

not「非」

no(a and b)返回false

運算子描述

in如果在指定的序列中找到值返回true,否則返回false

not in

如果在指定的序列中沒有找到值返回true,否則返回false

運算解釋

spam=』spam』

基本形式

spam, ham=』yum』, 『yum』

元組賦值運算

[spam, han]=[『yum』, 『yum』]

列表賦值運算

a,b,c,d=』spam』

序列賦值運算,通用性

a, *b=』spam』

擴充套件的序列解包

spam = ham = 『hello』

多目標賦值運算

spams += 42

增強賦值運算

序列運算

>>> nudge = 1

>>> wink = 2

>>> a, b = nudge, wink

>>> a,b

(1, 2)

# 巢狀的方式

>>> ((a, b), c) = ('sp', 'am')

>>> a, b, c

('s', 'p', 'am')

擴充套件的序列解包

乙個列表賦給了帶星號的名稱,該列表收集了序列中沒有賦值給其他名稱的所有項。

先定義乙個seq序列用於測試:

>>> seq = [1, 2, 3, 4]

a匹配序列中的第一項,b匹配剩下的內容

>>> a, *b = seq

>>> a, b

(1, [2, 3, 4])

b匹配序列中的最後一項,a匹配序列中最後一項之前的所有內容

>>> *a, b = seq

>>> a,b

([1, 2, 3], 4)

第一項和最後一項分別賦值給了ac,而b獲取了二者之間的所有內容。

>>> a, *b, c = seq

>>> a,b,c

(1, [2, 3], 4)

帶星號的名稱可能只匹配單個的項,但是,總會向其賦值乙個列表,如果沒有剩下的內容可以匹配那麼會返回乙個空列表:

>>> a,b,c,*d = seq

>>> print(a,b,c,d)

1 2 3 [4]

>>> a,b,c,d,*e = seq

>>> print(a,b,c,d,e)

1 2 3 4

多目標賦值語句就是直接把所有提供的變數名都賦值給右側的物件

>>> a = b = c = 'as'

>>> a,b,c

('as', 'as', 'as')

# 所引用的值也都是同乙個

>>> id(a),id(b),id(c)

(4331109208, 4331109208, 4331109208)

Python全棧之路系列之賦值與運算子

在繼續下面的文章之前我們先來瀏覽一下python為我們提供的幾種運算子,定義兩個變數,分別是a和b,a的值是10,b的值是20。運算子描述例項 加,兩個物件相加 a b 30 減,兩個物件相減,可能會得到負數 a b 10 乘,兩數相稱或是返回乙個被重複若干次的字串 a b 200 除,兩個物件相除...

Python全棧之路系列之元組資料型別

元組 tuple 和列表的唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣 建立元組的兩種方法 第一種ages 11,22,33,44,55 第二種 ages tuple 11,22,33,44,55 如果元祖內只有乙個元素,那麼需要加上乙個逗號,否則就變成字串了。in 1 t 1 in...

9Python全棧之路系列之Win字元編碼深解

python2.7預設字元編碼是ascii格式,即使指定字元編碼為utf 8也未必能夠輸出中文,測試如下 1 2 3 4 5 coding utf 8 定義乙個變數內容為中文,字符集為utf 8 temp 中文 輸出變數temp的內容 print temp 用win下的dos視窗執行這個指令碼,看看...