python科學計算生态-002-數字
數字:
數字可以直接通路,是不可更改并且不可分割的原子類型。 不可更改意味着變更數字值的實質是新對象的建立。 Python本身支援整數和浮點數,其整數類型可以存儲任意大小的整數 (所能表達的數字範圍和計算機的虛拟記憶體大小有關),這使得Python非常适合大數計算。
python可以進行大數計算
數字對象的建立和指派
# 像大多數腳本語言一樣,無需指定類型
a_int = 1
a_float = 3.1415
布爾值
bool() # False
bool(1) # True
bool(0) # False
bool(True) # True
bool(False) # False
print(True+False) # 1 -->是以t和f可以看做1和0進行運算
布爾運算
and or not
三個布爾運算符
運算優先級:
not
>
and
>
or
複數
real + imag j
- 實數部分和虛數部分都是浮點型,虛數部分結尾必須是j或J。
- 複數包含兩個浮點屬性:real(實數部分),imag(虛數部分), 還有一個方法:
,用以擷取其共轭複數。conjugate()
a_complex = 3.5 + 2.9j
print(a_complex) # (3.5 + 2.9j)
type(a_complex) # complex-->複數類型
print(a_complex.real) # 3.5 -->擷取複數的真值部分
print(a_complex.imag) # 2.9 -->擷取複數的虛部的值
a_complex.conjugate() # 擷取虛數的共轭複數
# 當然實數也可以用這個函數,并且傳回值就是他本身
a_real = 3
a_real.conjugate()
更新數字對象(即重新指派)
本質:建立了新對象,并且指向了新對象,并不是改變了原本對象的值哦
a_float = 3.14
a_float = 3.14159
‘删除’數字對象
del a_float
a_float # 報錯啦
tip:
注意引用計數,和對象之間的關系。當引用計數為0的時候,對象才會沒有。
python的數學運算
運算符 | 描述 | 示例 | 結果 |
---|---|---|---|
+ | 加法 | 5 + 8 | 13 |
- | 減法 | 90 - 10 | 80 |
* | 乘法 | 4 * 7 | 28 |
/ | 浮點數除法 | 7 / 2 | 3.5 |
// | 整數除法 | 7 // 2 | 3 |
% | 模(求餘) | 7 % 3 | 1 |
** | 幂 | 3 ** 4 | 81 |
一些運算指派合并
1/2 # 0.5
2/2 # 1.0 -->這裡進行的是浮點數除法運算
1//2 # 0 -->整數整除運算
1.0//2.0 #0.0 --> 浮點數整除運算
除法
-
執行的浮點除法/
-
如果除數為0,則會産生5/0
異常ZeroDivisionError
基數
三種進制的數字
0b10 or 0B10 二進制
0o10 or 0010 八進制
0x10 or 0X10 十六進制
進制轉換
簡單類型向複雜類型轉換
不精确類型向更精确類型轉換。
類型轉換失敗會産生
ValueError
異常。
# 都會報錯
int('10a')
int('98.6')
數學函數
int()
float()
complex()
bool()
complex() ## 隻有虛部不可,但隻有實部可
bool('') # False
功能函數
abs()
傳回絕對值函數 and 可以用于複數絕對值運算,即傳回實部和虛部平方和的二次方根。
divmod()
此函數将除法和求餘結合起來,傳回一個包含商和餘數的元組
pow()
此函數可以實作幂運算
round()
此函數可以實作真正的四舍五入
divmod(10,3) # (3,1)
divmod(2.5,10) # (0.0,2.5)
pow(5.2) #25
round(4.499) # 4
round(4.6) # 5
round(4.51) #5
round(4.492,2) # 4.49