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 --> 浮點數整除運算
除法
/
執行的浮點除法5/0
如果除數爲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