Python数字类型用于 存储数值。数据类型不允许改变,如果修改数字的数据类型的值,将重新分配空间。
数字类型变量在赋值时候创建,可以使用del删除单个,或者多个对象的引用。
>>> v1=1
>>> print(type(v1))
<class 'int'>
>>> del v1
>>> print(type(v1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'v1' is not defined
Python支持三种不同的数值类型:
整形(int),浮点型(float),复数(complex)-(a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型)
>>> v2=0xa #十六进制
>>> print(type(v2))
<class 'int'>
>>> print((v2))
10
>>> v3=0o4 #十进制
>>> print((v3))
4
>>> print(type(v3))
<class 'int'>
>>> v4=1.1+1.2j
>>> print(type(v4))
<class 'complex'>
>>> print(v4)
(1.1+1.2j)
>>> v5=1.1
>>> print(type(v5))
<class 'float'>
Python 数字类型转换
int(x) 将x转换为一个整数
float(x) 将x转换为一个浮点数
complex(x) 将x转换为一个复数,实数x,虚数为0,相应的有complex(x,y)
>>> v1=1.1
>>> print(int(v1))
1
>>> int(v1)
1
Python 数字运算
运算符
描述 | 实例 | |
+ | 加 - 两个对象相加 | a + b 输出结果 10 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 4 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 21 |
/ | 除 - x 除以 y | a / b 输出结果 2.3333333333333335 |
% | 取模 - 返回除法的余数 | b % a 输出结果 1 |
** | 幂 - 返回x的y次幂 | a**b 为7的3次方 343 |
// | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果4.0 |
数学函数
函数 | 返回值 |
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) | 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃 。使用 使用 (x>y)-(x<y) 替换。 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,...) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,...) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
round(x [,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
sqrt(x) | 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j |
>>> v1=10
>>> print(sqrt(v1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sqrt' is not defined
>>> import math
>>> print(sqrt(v1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sqrt' is not defined
>>> print(math.sqrt(v1))
3.1622776601683795
随机数函数
函数 | 描述 |
choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
randrange ([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 |
random() | 随机生成下一个实数,它在[0,1)范围内。 |
seed([x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |
注意,这些函数不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法
>>> import random
>>> print(random.uniform(1,10))
6.414925530363216
>>> print(random.uniform(1,10))
1.8418179817558467
三角函数
函数 | 描述 |
acos(x) | 返回x的反余弦弧度值。 |
asin(x) | 返回x的反正弦弧度值。 |
atan(x) | 返回x的反正切弧度值。 |
atan2(y, x) | 返回给定的 X 及 Y 坐标值的反正切值。 |
cos(x) | 返回x的弧度的余弦值。 |
hypot(x, y) | 返回欧几里德范数 sqrt(x*x + y*y)。 |
sin(x) | 返回的x弧度的正弦值。 |
tan(x) | 返回x弧度的正切值。 |
degrees(x) | 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0 |
radians(x) | 将角度转换为弧度 |
>>> v1=90
>>> print(math.sin(v1))
0.8939966636005579
>>> v1=0
>>> print(math.sin(v1))
0.0
>>> print(sin(v1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sin' is not defined
数学常量
常量 | 描述 |
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数) |
>>> print(math.pi)
3.141592653589793
>>> print(math.e)
2.718281828459045