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