Python 入门笔记(三)数字(Number)
三种数
Python 支持三种不同的数值类型:
-
整型(
int) : 通常被称为是整型或整数,是正或负整数,不带小数点 -
浮点型(
float) : 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示2.5e2 -
复数(
complex) : 复数由实数部分和虚数部分构成,可以用a + bj(注意是j),或者complex(a,b)表示,a和b都将以浮点型存储
相互转换
int(x)将x转换为一个整数。float(x)将x转换到一个浮点数。complex(x)将x转换到一个复数,实数部分为x,虚数部分为0complex(x, y)将x和y转换到一个复数,实数部分为x,虚数部分为y
PS:
Python3中的数字是没有限制大小的!Python3中没有Python2的long类型,整型简化成只剩一个int类型布尔(bool)是int的子类型
数中的下划线
在 Python3.6+ 中书写很大的数时,可以在任意位置加入下划线,使数字更清晰易读
1 | universe_age= 14_000_000_000 |
当然,Python 并不会把下划线也存进去
1 | print(universe_age) |
这种方法对整数和浮点数都适用
七种运算
| 运算符 | 含义 | 例子 | 运行结果 |
|---|---|---|---|
| + | 加 | 3+1 | 4 |
| - | 减 | 40-2 | 38 |
| * | 乘 | 3*2 | 6 |
| / | 除 | 6/3 | 2.0 |
| // | 整除 | 3//2 | 1 |
| ** | 幂 | 2**3 | 8 |
| % | 求余 | 7%2 | 1 |
PS,在整数和浮点数的运算中:
- 混合运算的结果总是浮点数
- 任意两个数相除(
/),结果总是浮点数
简化运算符
这个与 C 中的规则相同
1 | n = n + 1 |
可以简化为
1 | n += 1 |
其他的举一反三
二进制、八进制、十六进制
表示法
Python 中这三个进制的标识方法与 C 中的不完全相同,表示这三个进制的数必须以 0 开头,然后分别跟着不同进制的字母
- 二进制 :
b,0b110011 - 八进制:
o,0o56432 - 十六进制:
x,0xF765A
相互转换
1 | print(0b110011) #输出二进制 |
相关函数
数学函数(from math import *)
| 函数名 | 描述 |
|---|---|
abs(x) |
绝对值 |
fabs(x) |
浮点数的绝对值 |
ceil(x) |
向上取整 |
floor(x) |
向下取整 |
log(x) |
以 e 为底取对数 |
log(x,y) |
以 y 为底取 x 的对数 |
max/min(x,y,...) |
取最大值/最小值 |
sqrt(x) |
开根号 |
round(x[,n]) |
四舍五入,精度 n 可选 |
sin(x) |
x 的正弦值 |
cos(x) |
x 的余弦值 |
tan(x) |
x 的正切值 |
asin(x) |
x 的反余弦(弧度) |
acos(x) |
x 的反余弦(弧度) |
atan(x) |
x 的反正切(弧度) |
atan2(x,y) |
给定的 x 及 y 坐标值的反正切值 |
hypot(x,y) |
欧几里德范数 sqrt(x*x + y*y) |
degrees(x) |
弧度转角度 |
radians(x) |
角度转弧度 |
随机数函数(from random import *)
Python 中取随机不需要事先设定种子,当然你也可以手动重新设定
| 函数名 | 描述 |
|---|---|
random() |
在 [0,1) 中取一个随机数 |
choice(seq) |
在 seq 中随机挑选一个元素,seq 可以是列表,元组或字符串,例:choice(range(10)) |
randrange([x,]y[,z]) |
在 [x,y) 内取一个 z 的倍数,x 和 z 默认为 1 |
uniform(x,y) |
在 [x,y] 中随机取一个浮点数 |
shuffle(list) |
随机打乱一个列表 |
seed([x]) |
改变随机数生成器的种子 |
数学常量
| 常量 | 描述 |
|---|---|
pi |
圆周率 π |
e |
欧拉常数 e |
有趣的问题:0.1+0.2≠0.3
初中的时候对Python为数不多的认识之一就是听说在Python里 0.1 加上 0.2 不等于 0.3 (笑)
1 | print(0.1+0.2) |
结果为
1 | 0.30000000000000004 |
评论
GiscusTwikoo