之所以會想要介紹這個單元是因為 Python
最大的用途就是計算!
有很多的經濟、物理、太空等需要大量計算的科系都會使用 Python
(還有 Matlab
啦)
還有探究課也會用到
code
math
ceil(x)
回傳大於等於 x
的最小整數
floor(x)
回傳小於等於 x
的最大整數
comb(n, k)
回傳
factorial(x)
回傳 x
的階乘
frexp(x, y)
令 ,以 tuple
回傳 (a, b)
ldexp(x, y)
回傳 ,為 frexp()
的反函數
fsum(l)
更精準的計算串列 l
裡面的數字總和
gcd(...)
回傳引數的最大公因數
lcm(...)
計算引數的最大公因數
nextafter(x, y)
如果 較小回傳 ,否則回傳
exp(x)
回傳
expml(x)
回傳 ,比 exp(x)-1
精準
log(x, b)
回傳 ,如果 沒有參數,則使用預設值
log1p(x)
回傳 ,針對 趨近於 時使用 ( 極小時)
log2(x)
回傳 ,比 log(x, 2)
精準
pow(x, y)
回傳 ,在 或 永遠回傳 ,不可計算虛數,以 float(x)**float(y)
進行計算
sqrt(x)
回傳 ,可以使用 x**0.5
、pow(x, 0.5)
取代
sin(x)
回傳
cos(x)
回傳
tan(x)
回傳
asin(x)
回傳 ,回傳值介於 和 之間
acos(x)
回傳 ,回傳值介於 和 之間
atan(x)
回傳 ,回傳值介於 和 之間
atan2(x)
回傳 ,回傳值介於 和 之間
dist(x, y)
x
、y
皆為 tuple
,回傳
hypot(...)
令帶入的引數為 ,且 ,則回傳
degrees(x)
回傳 x
的度度量
radians(x)
回傳 x
的弳度
sinh(x)
回傳
cosh(x)
回傳
tanh(x)
回傳
asinh(x)
回傳
acosh(x)
回傳
atanh(x)
回傳
有 、。
tau
相當於
inf
相當於
nan
相當於 無意義
因為大部分的運算子之前都上過了,
所以這裡著重在位元運算。
原則上所有整數 都可以被表示為 ,其中 ,
電腦就是以此原則把 進位轉換成 進位。
舉例 。
負數的轉換比較複雜,這裡暫時不講
位元運算子主要有 個,分別是 &
、|
、^
、~
。
也就是 &
運算,
如果兩個數字取 &
,
在同一個位元的數字如果其中一個有 ,
則該位元就會是 ,
反之就會是 。
舉例 2&1
會等於 0
也就是 |
運算,
如果兩個數字取 |
,
在同一個位元的數字如果其中一個有 ,
則該位元就會是 ,
反之就會是 。
舉例 2&1
會等於 3
也就是 ^
運算,
如果兩個數字取 ^
,
在同一個位元的數字如果值相同
則該位元就會是 ,
反之就會是 。
舉例 2^1
會等於 3
也就是 ~
運算,
一個數字如果取 ~
運算,
則所有位元反轉。
但是這個會牽扯到負數的位元運算,
所以這裡先不講。
基本上學到這裡已經很後面了,
位元運算的主要功能就是省時間,
現在的程式碼還沒有必要用到位元運算,
所以有個概念就好。