賦值運算子用來把右側的值傳遞給左側的變數(或者常量);可以直接將右側的值交給左側的變數,也可以進行某些運算後再交給左側的變數,比如加減乘除、函式呼叫、邏輯運算等。
python 中最基本的賦值運算子是等號=
;結合其它運算子,=
還能擴充套件出更強大的賦值運算子。
#將字面量(直接量)賦值給變數
n1 =
100f1 =
47.5
s1 =
""#將乙個變數的值賦給另乙個變數
n2 = n1
f2 = f1
#將某些運算的值賦給變數
sum1 =25+
46sum2 = n1 %
6s2 =
str(
1234
)#將數字轉換成字串
s3 =
str(
100)
+"abc"
連續賦值
python 中的賦值表示式也是有值的,它的值就是被賦的那個值,或者說是左側變數的值;如果將賦值表示式的值再賦值給另外乙個變數,這就構成了連續賦值。請看下面的例子:
a = b = c = 100
具有右結合性,我們從右到左分析這個表示式:
最終結果就是,a、b、c 三個變數的值都是 100。
= 和 ==
= 和 == 是兩個不同的運算子,= 用來賦值,而 == 用來判斷兩邊的值是否相等,千萬不要混淆。
還可與其他運算子(包括算術運算子、位運算子和邏輯運算子)相結合,擴充套件成為功能更加強大的賦值運算子,如表 1 所示。擴充套件後的賦值運算子將使得賦值表示式的書寫更加優雅和方便。
運算子說 明
用法舉例
等價形式
=最基本的賦值運算
x = y
x = y
+=加賦值
x += y
x = x + y
-=減賦值
x -= y
x = x - y
*=乘賦值
x *= y
x = x * y
/=除賦值
x /= y
x = x / y
%=取餘數賦值
x %= y
x = x % y
**=冪賦值
x **= y
x = x ** y
//=取整數賦值
x //= y
x = x // y
&=按位與賦值
x &= y
x = x & y
|=按位或賦值
x |= y
x = x | y
^=按位異或賦值
x ^= y
x = x ^ y
<<=
左移賦值
x <<= y
x = x << y,這裡的 y 指的是左移的位數
>>=
右移賦值
x >>= y
x = x >> y,這裡的 y 指的是右移的位數
這裡舉個簡單的例子:
n1 =
100f1 =
25.5
n1 -=
80#等價於 n1=n1-80
f1 *= n1 -
10#等價於 f1=f1*( n1 - 10 )
print
("n1=%d"
% n1)
print
("f1=%.2f"
% f1)
執行結果為:
n1=20
f1=255.00
通常情況下,只要能使用擴充套件後的賦值運算子,都推薦使用這種賦值運算子。
但是請注意,這種賦值運算子只能針對已經存在的變數賦值,因為賦值過程中需要變數本身參與運算,如果變數沒有提前定義,它的值就是未知的,無法參與運算。例如,下面的寫法就是錯誤的:
n += 10
該表示式等價於 n = n + 10,n 沒有提前定義,所以它不能參與加法運算。 Python運算子 賦值運算子
賦值運算子與算數運算子有這個密不可分的關係,可以理解成是算數運算子在某種特定情況下的一種簡寫賦值運算子 說明舉例 展開形式 對應算數運算子寫法 簡單賦值運算子 x y x y 加賦值 也讀加等於 x y x x y 加賦值 也讀減等於 x y x x y 乘賦值 也讀乘等於 x y x x y 除賦...
賦值運算子
賦值運算子函式 include stdafx.h include class cmystring cmystring cmystring char pdata else cmystring cmystring const cmystring str cmystring cmystring cmyst...
賦值運算子
a 等 b 叫做賦值運算子,也是最基本的賦值運算子 int x 10 把10賦值給int型別的變數x。c 擴充套件的賦值運算子的特點 隱含了自動強制轉換。面試題 short s 1 s s 1 short s 1 s 1 請問上面的 哪個有問題?3 比較運算子 a b 無論運算子兩端簡單還是複雜最終...