Python对象类型(二)数字
一、数字的定义
1.1整数
- 以正负区分
- 以进制区分
十进制
十六进制 (以0x开头)
八进制 (以o开头) - 整数的范围
实际上上无穷的:2**100(2的100次方)
1.2浮点数
- 即为小数:1.5,10.2e99,31.5e-12
- 范围:8个字节,64比特
- 需要注意的是:浮点数的计算是不精确的
因为计算机存储数据是要转换为二进制的,然而很多时候分数转换成小数的位数都是无穷大的,而计算机为了存储需要进行截断处理,这个时候就产生了误差。
1.3 复数
- 高中数学:复数由实部和虚部组成
1.4布尔型
- 只有TRUE和FALSE两种值,其中:非空或0就是TRUE
>>> bool(0)
False
>>> bool(-1)
True
>>> bool("")
False
- 常用语逻辑判断
1.5其他数字类型
- 分数
- 空值
- 常量
二、数字的操作方法
2.1 算数运算符
- 加、减、乘、除
- 整除
25//3
、求余25%3
、乘方(幂运算)4.0**-1.0=0.25
- 运算优先级的问题
2.2 比较运算符
- 用比较运算符的表达式的值都是
TRUE
或FLASE
- 需要注意
!=
是不等于
2.3布尔运算符
- and、or、not
- 其中not通常这么使用:
if not a==b:
2.4 数值计算函数
-
abs(-2.22)
:求绝对值
>>> abs(-2.22)
2.22
- 幂运算,x的y次方
pow(x,y)
-
round(x,y)
:用于对浮点数进行四舍五入计算,默认保留一位小数,也可以自己指定
test_round_01=3.14
print round(test_round_01)
import math
for eachNum in range(10):
print (round(math.pi,eachNum))
输出结果:
3.0
3.0
3.1
3.14
3.142
3.1416
3.14159
3.141593
3.1415927
3.14159265
3.141592654
-
divmod(x,y)
:返回x除以y的余数和商组合而成的元组
>>> divmod(10,3)
(3, 1)
-
coerce(x,y)
:将两个数值转换成一个类型,然后生成与小数点最长的参数同类型的值的元组
>>> coerce(10,10.2)
(10.0, 10.2)
2.5 类型转换函数
基本都是顾名思义
int() | complex() | float() | long() | bool() |
转换成整数 | 转换成复数 | 转换成浮点数 | 转换成长整数 | 转换成布尔型 |
print int(1.1)
#直接截取小数部分
print complex(1.5)
#转换成复数形式
print float(1)
#转换成浮点数
print long(2.2)
#转换成长整数
print bool(0)
print bool('')
print bool(-1)
#非0或空字符就是TRUE
输出结果:
1
(1.5+0j)
1.0
2
False
False
True
2.6 进制转换函数
基本都是顾名思义
hex() | oct() | bin() |
转换成 | 转换成 | 转换成 |
十六进制 | 八进制 | 二进制 |
接收的对象都是整数 | 接收的对象都是整数 | 接收的对象都是整数 |
print hex(255)
print oct(255)
print bin(255)
0xff
0377
0b11111111
2.7 ASCII转换函数
-
ord()
:将字符转换成ASCII码值 -
chr()
:将ASCII码值转换成字符
print ord('t')
print chr(116)
116
t
2.8 内置模块
-
math
:数学模块,包含诸多数学函数
import math
print math.sqrt(5)
print math.cos(1/2)
2.2360679775
1.0
-
random
:伪随机发生器,这个其实有多重用法
import random
print random.uniform(1,10)
#给定范围内返回一个浮点数
print random.randrange(1,10)
#给定范围内返回一个整数
print random.choice([1,2,8,9,10])
print random.choice([1,2,8,9,10])
print random.choice([1,2,8,9,10])
#返回给定序列中的一个元素
import random
print random.uniform(1,10)
print random.randrange(1,10)
print random.choice([1,2,8,9,10])
print random.choice([1,2,8,9,10])
print random.choice([1,2,8,9,10])