Python 3.1 快速導覽 - 運算子

Python 提供多樣、功能完整的運算子 (operator) ,如下列表

+-***///%
<<>>&|^~
<><=>===!=


另有一些分隔符號 (delimiter)
()[]{}
,:.;@=
+=-=*=/=//=%=
&=|=^=<<=>>=**=


依功能區分,可分為


算術運算子



Python 的算術運算子 (arithmetic operator) 包含加、減、乘、除、取餘數,皆需兩個運算元 (operand) 構成運算式 (expression) ,如下列表
運算子功能範例
+a + b
-a - b
*a * b
**指數a ** b
/a / b
//整數除法a // b
%取餘數a % b


算術運算子可以運用在整數資料型態 (integral type) 及浮點數資料型態 (floating-point type) 。




位移運算子



位移運算子 (shifting operator) 運用在整數資料型態,向右位移等於 n 除以 pow(2, n) ,向左位移等於 n 乘上 pow(2, n)
運算子功能範例
<<向右位移a << n
>>向左位移a >> n




位元運算子



位元運算子 (bitwise operator) 如下列表
運算子功能範例
&位元且a & b
|位元包含或a | b
^位元互斥或a ^ b
~位元相反~a




關係運算子



關係運算子 (comparison operator) 需要兩個運算元,如下列表
運算子功能範例
<小於a < b
>大於a > b
<=小於等於a <= b
>=大於等於a >= b
==相等a == b
!=不相等a != b




指派運算子



Python 最基本的指派運算子 (assignment operator) 為單一個等號 = ,這是用來將等號右邊的值拷貝給給左邊的變數 (variable) 資料。等號也可以跟其他運算子合用,會直接將結果儲存到原變數之中,如
運算子功能範例
=指派a = b
+=相加同時指派a += b
-=相減同時指派a -= b
*=相乘同時指派a *= b
**=取指數同時指派a **= b
/=相除同時指派a /= b
/=整數相除同時指派a //= b
%=取餘數同時指派a %= b
&=位元且同時指派a &= b
^=位元互斥或同時指派a ^= b
|=位元包含或同時指派a |= b
<<=向左位移同時指派a <<= b
>>=向右位移同時指派a >>= b


Python 用單一等號 = 表示指派,連續兩個等 == 號表示相等性。




分隔符號



其他分隔符號有
分隔符號功能
( )小括弧圍住的運算式會優先計算,函數 (function) 也用小括弧圍住參數列 (parameter list)
[ ]序列型態 (sequence type) 的索引符號,或用作定義串列 (list)
{ }用作定義字典 (dictionary)
,同一行中分隔多個運算式
:控制陳述條件 (condition) 後的分隔符號
.用為存取物件的方法 (method) 或屬性 (attribute)
;可作為單行程式結束的符號,也可不用
@用作函數或類別 (class) 定義的特殊標記




中英文術語對照
運算子operator
分隔符號delimiter
算術運算子arithmetic operator
運算元operand
運算式expression
整數資料型態integral type
浮點數資料型態floating-point type
位移運算子shifting operator
位元運算子bitwise operator
關係運算子comparison operator
指派運算子assignment operator
變數variable
函數function
參數列parameter list
序列型態sequence type
串列list
字典dictionary
條件condition
方法method
屬性attribute
類別class






1 則留言:

Unknown 提到...

向右位移跟向左位移相反了