在繼續下面的文章之前我們先來瀏覽一下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)
第一項和最後一項分別賦值給了a
和c
,而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視窗執行這個指令碼,看看...