Python学习(4):基本数据类型
文章目录
1.数字类型及操作
1.三种数字类型
- 整数类型
- 和数学中整数概念一致,可正可负,没有取值范围限制
- pow(x,y):计算x的y次方
- 4种进制表示形式:
- 十进制
- 二进制:以0b或0B开头作为标识,比如0b101表示3
- 八进制:以0o或0O开头作为表示
- 十六进制:以0x或0X开头表示
- 浮点数类型
-
和数学中实数概念一致,是带有小数及小数点的数字,取值范围和小数精度存在限制,但常规计算可忽略(取值范围数量级约-10308到10308,精度数量级约10-16),即拥有近似无限范围。
-
浮点数间运算存在不确定尾数,不是bug。解决方法是配合round函数辅助。
round(x,d):对x四舍五入,截取d位小数。该问题涉及计算机内部运算原理,在很多编程语言中都会出现。比如0.1+0.2显示为0.30000000000000004,因此0.1+0.2==0.3返回False,使用round((0.1+0.2),1)==0.3就能放回True。这是因为小数部分在python中以53位二进制表示(等价精度数量级),而计算机中的二进制和十进制存在不完全对等。对于0.1而言,二进制表示是一个循环数字,计算机只能截取53位来无限接近0.1,转化为十进制就会带有长尾数。
-
科学计数法表示:
使用字母e或E作为幂的符号,以10为基数,格式为< a >e< b >表示a*10b。例如4.3e-3表示0.0043。
-
- 复数类型
- 只有Python提供复数类型,和数学中复数概念一致,定义 j = − 1 j=\sqrt{-1} j=−1为基础构建数学体系。
- 一般将z=a+bj成为复数,其中a为实数部分,称为实部,bj为虚数部分,b称为虚部。z.real获得实部,z.imag获得虚部。
2.数值运算操作符
二元操作符 | 描述 |
---|---|
x+y | 加 |
x-y | 减 |
x*y | 乘 |
x/y | 除,产生浮点数结果 |
x//y | 整数除,相当于对x/y向下取整 |
+x | x本身 |
-y | y的负值 |
x%y | 模运算,取余数 |
x**y | 幂运算,x的y次幂,等价于pow函数;y为小数时为开方运算 |
二元操作符对应增强操作符 | 描述 |
---|---|
x op=y,即x=x op y,其中op为二元操作符 | x+= y, x-= y, x*=y, x/=y, x//=y,x%=y, x**=y |
3.数字类型的关系
类型之间可以进行混合运算,生成结果为“最宽”类型——三种类型存在逐渐拓宽的关系:整数<浮点数<复数
比如,123+4.0=127.0,即整数+浮点数=浮点数,