指派運算是把等號右邊的數值傳遞給等號左邊的變數 (variable) ,由於 Python 中任何數值都是物件 (object) ,因此可藉由該變數處理或操作被指派到的物件。
指派運算子除了最基本的等號外,也可以跟算術運算子及位元運算子結合在一起使用,例如 += 就先相加然後做指派動作。
符號 | 作用 |
---|---|
= | 指派 |
+= | 指派同時相加 |
-= | 指派同時相減 |
*= | 指派同時相乘 |
**= | 指派同時計算次方 |
/= | 指派同時相除 |
//= | 指派同時做整數除法 |
%= | 指派同時取餘數 |
&= | 指派同時位元運算且 |
^= | 指派同時位元運算互斥或 |
|= | 指派同時位元運或 |
<<= | 指派同時位元運算向左位移 |
>>= | 指派同時位元運算向右位移 |
來看看實例, a 等於 12 ,就是把整數 12 指派給變數 a
a = 12
print(a)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:assignment01.py
# 功能:示範指派運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 assignment01.py |
12 |
$ |
反過來就不行了,如果寫 5 等於 b ,直譯器會直接顯示錯誤
5 = a
print(a)
#《程式語言教學誌》的範例程式
# http://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)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:assignment03.py
# 功能:示範指派運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 assignment03.py |
45 |
945 |
$ |
位元運算子同樣也可以跟指派運算子合用,例如把變數 a 設定為整數 13 ,二進位表示為 1101 ,再利用向左位移等於 4 , b 會變成二進位的 11010000 ,也就是十進位的 208
a = 13
print(bin(a))
a <<= 4
print(bin(a))
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:assignment04.py
# 功能:示範指派運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 assignment04.py |
0b1101 |
0b11010000 |
$ |
相關教學影片