目录
1.数字(Number)
Python3 支持 int、float、bool、complex(复数)。
Python 支持三种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
print("----------------Number(数字)--------------------")
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
还可以用isinstance 来判断:(结果为True)
当你指定一个值时,Number 对象就会被创建:
var1 = 1;var2 = 10
您也可以使用del语句删除一些对象引用。
del语句的语法是:
del var1[,var2[,var3[....,varN]]]
您可以通过使用del语句删除单个或多个对象。例如:
del var1;del var_a, var_b
2.数值类型实例
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2E-12 | 4.53e-7j |
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
3.数字类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
-
int(x) 将x转换为一个整数。
-
float(x) 将x转换到一个浮点数。
-
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
-
complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
4.数值运算
注意:
-
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
-
2、一个变量可以通过赋值指向不同类型的对象。
-
3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
-
4、在混合计算时,Python会把整型转换成为浮点数。
print("-----------------数字-----------------------")
var1 = 1 #变量赋值时Number对象将被创建
var2 = 10
print(var1) #输出值 1
print(var2) #输出值 10
del var1,var2 #使用del语句删除一些数字对象的引用,语法:del var1[,var2[,var3[...,varN]]]
#print(var1) 已被删除,会提示错
print("-----------------Python数字类型转换-----------------------")
x = 5.20; y = 10;
print(int(x)) #输出值 5 int(x)将x转换为一个整数
print(float(y)) #输出值 10.0 float(y)将y转换到一个浮点数
print(complex(x)) #输出值 (5.2+0j) complex(x)将x转换到一个复数,实数部分为x,虚数部分为0
#print(compile(x,y)) #复数不是很理解,这句会报错
print("-----------------Python数字运算符-----------------------")
x = 10; y = 2 #等于号用于给变量赋值
print( x + y ) # + x加上y的值
print( x - y ) # - x减去y的值
print( x * y ) # * x乘以y的值
print( x / y ) # / x除以y的值,总是返回一个浮点数(不同的机器上,沸点运算的结果可能会不一样)
print( x // y ) # //x除以y的值,向下取整。但不一定是整数类型的数,与分子和分母的数据类型有关7.0//2结果3.0 7//2.0结果3.0
print( x ** y) # **x的y次方
注意:
// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
>>> 7//2
3
>>> 7.0//2
3.0
>>> 7//2.0
3.0
>>>
不同类型的数混合运算时会将整数转换为浮点数:
>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5
在交互模式中,最后被输出的表达式结果被赋值给变量 _ 。例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此处, _ 变量应被用户视为只读变量。
5.函数
5.1数学函数
函数 | 返回值 ( 描述 ) |
---|---|
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的平方根。 |
print("-----------------数学函数-----------------------")
print(abs(-10)) #内置函数,返回数字的绝对值 结果:10
import math #导入 math 模块
print(math.ceil(4.1)) #返回数字的上入整数 结果:5
print(math.exp(2)) #返回e的2次幂(e^2) e? 结果:7.38905609893065
#返回数字的绝对值
#与内置函数的不同:1.fabs()函数在模块中定义 2.支队浮点数和整型数值有关,abs()函数可用在复数中
#结果:20.0
print(math.fabs(-20))
print(math.floor(4.8)) #返回数字的下舍整数 结果:4
print(math.log(100)) #返回100的自然对数 结果:4.605170185988092
print(math.log10(100)) #返回以10为基数的100的对数 结果:2.0
print(max(10,20,30,5)) #返回给定参数中的最大值,参数可以为序列 结果:30
print(min(1,2,3,-10)) #返回给定参数中的最小值,参数可以为序列 结果:-10
print(math.modf(11.21));print(math.modf(20)) #返回数值的小数部分和整数部分 结果:1(0.2100000000085,11.0) 2(0.0,20)
print(math.pow(5,2)) #5**2运算后的值 结果:25
print(round(10.5));print(round(10.547,2)) #round(x,[n]) 返回浮点数的四舍五入值,如给出n值,则四舍五入到小数点后的位数
print(math.sqrt(25)) #返回数值的平方 结果5.0
5.2随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 | 描述 |
---|---|
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]范围内。 |
print("-----------------随机数函数-----------------------")
import random #导入random()模块
#choice()描述:从序列元素中随机挑选一个元素
#语法:random.choice(seq)
#返回值:随机项
print(random.choice(range(100))) #结果 5(随机)
print(random.choice([1,2,3,4,9])) #结果 3(随机)
print(random.choice("Runoob")) #结果 o(随机)
#randrange()描述:返回指定递增基数集合中的一个随机数
#语法:random.randrange([start,] stop [,step])
#参数:start:指定范围内的开始值,包含在范围内 stop:指定的返回内的结束值,不包含在范围内 step:指定递增基数
#返回值:从给定的范围返回随机项。
print(random.randrange(1,100,2)) #从1-100(不包含100)中选取一个随机数 结果:77(随机)
print(random.randrange(100)) #从0-99选取一个随机数 结果:44(随机)
#random()描述:返回随机生成的一个实数,它在[0,1)范围内
#语法:random.random()
#返回值:返回随机生成的是一个实数,它在[0,1)范围内
print("random():", random.random()) #返回[0,1)中的一个数值
print("random():", random.random()*10) #返回[0,10)中的一个数值
#seed()描述:改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。。
#语法:random.seed([x1])
#参数:x-改变随机数生成器的种子seed
#没有返回值
random.seed()
print("使用默认种子生成随机数:",random.random())
random.seed(10)
print("使用整数种子(10)生成随机数:",random.random())
random.seed(10)
print("同样设置种子为10,输出数值相同:",random.random())
print("同样设置种子为10,输出数值相同:",random.random())
random.seed("hello",2)
print("使用字符串种子生成随机数:",random.random())
#shuffle()描述:将序列的所有元素随机排序
#语法:random.shuffle(lst)
#参数:lst-列表 返回值:None
list = [20,16,10,5]
random.shuffle(list)
print("随机排序列表:",list)
random.shuffle(list)
print("随机排序列表:",list)
#uniform()描述:将随机生成下一个实数,它在[x,y]范围内。
#语法:random.uniform(x,y)
#参数:x-随机数的最小值,y-随机数的最大值
#返回值:返回一个浮点数
print("uniform(5, 10) 的随机浮点数:",random.uniform(5,10))
print("uniform(7,14) 的随机浮点数:",random.uniform(7,14))
5.3三角函数(暂时不学)
Python包括以下三角函数:
函数 | 描述 |
---|---|
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) | 将角度转换为弧度 |
5.4数学常量
常量 | 描述 |
---|---|
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数)。 |