Python 速查手冊

3.4 指派運算

指派運算是把等號右邊的數值傳遞給等號左邊的變數 (variable) ,由於 Python 中任何數值都是物件 (object) ,因此可藉由該變數處理或操作被指派到的物件。

指派運算子除了最基本的等號外,也可以跟算術運算子及位元運算子結合在一起使用,例如 += 就先相加然後做指派動作。

符號作用
=指派
+=指派同時相加
-=指派同時相減
*=指派同時相乘
**=指派同時計算次方
/=指派同時相除
//=指派同時做整數除法
%=指派同時取餘數
&=指派同時位元運算且
^=指派同時位元運算互斥或
|=指派同時位元運或
<<=指派同時位元運算向左位移
>>=指派同時位元運算向右位移

來看看實例, a 等於 12 ,就是把整數 12 指派給變數 a

a = 12
print(a)

#《程式語言教學誌》的範例程式
# https://kaiching.org/
# 檔名:assignment01.py
# 功能:示範指派運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 assignment01.py
12
$

反過來就不行了,如果寫 5 等於 b ,直譯器會直接顯示錯誤

5 = a
print(a)

#《程式語言教學誌》的範例程式
# https://kaiching.org/
# 檔名:assignment02.py
# 功能:示範指派運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 assignment02.py
  File "assignment02.py", line 1
    5 = a
    ^
SyntaxError: can't assign to literal
$

算術運算子可以和指派運算子連用,例如 + 與 = 連用,會把等號左邊的變數加上等號右邊的數值,結果直接存回變數內,例如

a = 45
print(a)
a += 900
print(a)

#《程式語言教學誌》的範例程式
# https://kaiching.org/
# 檔名:assignment03.py
# 功能:示範指派運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 assignment03.py
45
945
$

位元運算子同樣也可以跟指派運算子合用,例如把變數 a 設定為整數 13 ,二進位表示為 1101 ,再利用向左位移等於 4b 會變成二進位的 11010000 ,也就是十進位的 208

a = 13
print(bin(a))
a <<= 4
print(bin(a))

#《程式語言教學誌》的範例程式
# https://kaiching.org/
# 檔名:assignment04.py
# 功能:示範指派運算
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 assignment04.py
0b1101
0b11010000
$

上一頁: 3.3 比較運算
Python 速查手冊 - 目錄
下一頁: 3.5 邏輯運算
回 Python 教材首頁