跳至主要内容

Python operators

介紹 Python 內建 operators,與 operator module。

內建的 operators 分類

https://www.runoob.com/python/python-operators.html#ysf7
注意:

次方的 operator 為兩個 asterisk。
^ 是位元的異或運算。
連續兩個 slash //, 除法且向下取整數。

部分算術運算元有 overloaded,可用於非數值類資料結構。
overloaded 部分使用需小心。

  • 算術運算元 (+-/*)
  • 比較運算元(Comparison, ==, !=, >, <)
  • 賦值運算元(Augmented Assignment, =, +=, -=, /=, %=, **=, //=)
  • 邏輯運算元 (and, or, not)
  • 位元運算元 (&, |, ^, ~, <<, >>)
  • 成員運算元 (in, not in)
  • 實體運算元 (is, is not)

特殊的 operators:

  • 這邊紀錄常用且個人比較容易忘記部分:
    • 連續兩個 asterisk *, 取次方的意思。 a**b 指 a 的 b 次方。
    • 連續兩個 slash //, 除法但是向下取整數(負值有差異 -9//2 得到 -5)。

operator module

operator module 簡單的來說變是將原本的 operators 以函數的方式來呈現。 因函數有名稱,可用作功能的描述。
可想成類似 Java 的 Math 工具類,提供額外的功能。 細節可參考 operator — Standard operators as functions
類似功能也可見於 numpy module