1. Python数字类型的作用
Python数字类型用来存储数值,它是不可变对象,一旦定义之后,其值不可以被修改。如果改变了数字类型的值,就要重新为其分配内存空间。
定义一个数字类型的变量:a = 100, 变量a就存储了100这个数值
2. Python支持三种不同的数值类型
(1)整型(int):Python整型数据,包含正整数和负整数。在Python3中,整型是没有限制大小的,也没有Python2中的Long类型。 同时可以使用十六进制(0x)或八进制(0o)来表示一个整数。
(2)浮点型(float): Python浮点型由整数部分和小数部分组成,也可以使用科学计数法表示,比如:3.14e+10, 60.99E-5
(3)复数(complex): 复数由实数部分和虚数部分组成,可以使用a + bj或者complex(a, b)来表示,其中a是实数部分,b是虚数部分。复数的实部a和虚部b都是浮点型。
3. Python数字类型转换
Python数字类型转换就是将一个数据内置的类型进行转换,而数据类型的转换,只需要将数据类型作为函数名即可。
数字类型转换的函数方法如下:
int(x): 将x转换为一个整数;
float(x): 将x转换为一个浮点数
complex(x): 将x转换为一个复数,其中实部为x,虚部为0;
complex(x, y): 将x和y转换为一个复数,实部为x,虚部为y,x和y是数字表达式。
4. Python数字元素
(1)最常见的就是数字之间的加减乘除运算,与其他语言比如Java,C一样。
(2)Python的浮点数运算在不同的机器上可能有不一样的结果。
(3)Python的整数除法(/)总是会返回一个浮点型数值结果;而取整除法(//)总是返回向下取整的整数结果值。取整除法得到的并不一定是整数类型的数,它与参与运算的分母分子的数据类型有关。
(4)不同类型的数进行混合运算时,会将整数转换为浮点数。
5. 数学常量:
(1)pi: 数学常量 pi(圆周率,一般以π来表示)
(2)e: 数学常量 e,e即自然常数(自然常数)。
示例代码:
#!/usr/bin/python3 # -*- coding: utf-8 -*- # author : liuhefei # Time : 2019/11/7 # desc: Python数据类型之数字 if __name__ == "__main__": a = 24 # 正整数 b = -4 # 负整数 pi = 3.14 # 浮点数 num1 = 0xA8F # 十六进制整数 num2 = 0o37 # 八进制整数 num3 = 32.3e+10 # 科学计数法浮点数 num4 = -67.34e20 # 浮点数 com1 = 45j # 复数,只有实部 com2 = 3j+7 # 复数,含有实部和虚部 # 数字运行 x = 20 y = 3 z = 2.3 print("1 - ", x+y) # 23 print("2 - ", x-y) # 17 print("3 - ", x*y) # 60 print("4 - ", x/y) # 6.666666666666667 print("5 - ", x//y) # 6 print("6 - ", x**y) # 8000 print("7 - ", x%y) # 2 print("8 - ", int(z)) # 2 print("9 - ", x*y/z) # 26.086956521739133 # 复数运算 print("10 - ", com1 + com2) # (7+48j) print("11 - ", com1 - com2) # (-7+42j)
数学函数:
函数 返回值 ( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10。
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
math.ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5。
math.exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045。
math.fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0。
math.floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4。
math.log(x) 用于获取x的自然对数,其中x > 0。如math.log(math.e)返回1.0,math.log(100,10)返回2.0。
math.log(x, y) 用于获取x,y的对数, 其中x,y > 0,其中x是指数,y是底数。
math.log10(x) 返回以10为基数的x的对数,其中x > 0,如math.log10(100)返回 2.0。
math.modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) 返回x的y次方的值, 其中y>0 (内置函数)。
pow(x, y, z) 计算x的y次方,其中y>0(内置函数),再对结果进行z取模,其结果等效于pow(x,y) %z。
math.pow(x, y) 返回x的y次方的值, 其中y>0。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
math.sqrt(x) 返回数字x的平方根。
随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 描述
random.choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
random.randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1。
random.random() 随机生成下一个实数,它在[0,1)范围内。
random.seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
random.shuffle(lst) 将序列的所有元素随机排序。
random.uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。
三角函数
Python包括以下三角函数:
函数 描述
math.acos(x) 返回x的反余弦弧度值。 x -- -1到1之间的数值。如果x是大于1,会产生一个错误。
math.asin(x) 返回x的反正弦弧度值。 x -- -1到1之间的数值。如果x是大于1,会产生一个错误。
math.atan(x) 返回x的反正切弧度值。 x -- -1到1之间的数值。如果x是大于1,会产生一个错误。
math.atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。
math.cos(x) 返回x的弧度的余弦值。
math.hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)。
math.sin(x) 返回的x弧度的正弦值。
math.tan(x) 返回x弧度的正切值。
math.degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0。
math.radians(x) 将角度转换为弧度。
代码示例:
#!/usr/bin/python3 # -*- coding: utf-8 -*- # author : liuhefei # Time : 2019/11/9 # desc: Python数字函数 import math import random if __name__ == "__main__": # 数学函数 # 1. abs(x) 返回数字x的绝对值,如abs(-10) 返回 10 (内置函数) # abs() 还可以运用在复数中。 print("abs(-100) = ", abs(-100)) print("abs(-3.1415) = ", abs(-3.1415)) print("abs(-4j-6) = ", abs(-4j-6)) # 2. ceil(x) 返回数字x的上入整数(向上取整),如math.ceil(4.1) 返回 5 print("math.ceil(4.1) = ", math.ceil(4.1)) print("math.ceil(-4.6) = ", math.ceil(-4.6)) print("math.ceil(100.12) = ", math.ceil(100.12)) print("math.ceil(100.72) = ", math.ceil(100.72)) # 3. exp(x) 返回e的x次幂(e^x),其中e是自然常数,如math.exp(1) 返回2.718281828459045 print("math.exp(1) = ", math.exp(1)) print("math.exp(10) = ", math.exp(10)) print("math.exp(-100.25) = ", math.exp(-100.25)) # 4. fabs(x)返回数字x的绝对值,如math.fabs(-10) 返回10.0 # fabs() 函数只对浮点型跟整型数值有效。 print("math.fabs(-23.35) = ", math.fabs(-23.35)) print("math.fabs(-123) = ", math.fabs(-123)) # 5. floor(x)返回数字的下舍整数(向下取整),其结果值小于或等于x。如math.floor(4.9)返回4 print("math.floor(4.9) = ", math.floor(4.9)) print("math.floor(4.1) = ", math.floor(4.1)) print("math.floor(-78.18) = ", math.floor(-78.18)) # 6. log(x)用于获取x的自然对数,x > 0。如math.log(math.e)返回1.0,math.log(100,10)返回2.0 print("math.log(math.e) = ", math.log(math.e)) print("math.log(10) = ", math.log(10)) # log(x, y) 用于获取x,y的对数,其中x是指数,y是底数 print("math.log(100, 10) = ", math.log(100, 10)) # 指数是底数的2次方 print("math.log(10, 10) = ", math.log(10, 10)) # 指数与底数相等 # 7. log10(x) 返回以10为基数的x的对数,其中x > 0,如math.log10(100)返回 2.0 print("math.log10(100) = ", math.log10(100)) # 底数为10,指数为100 print("math.log10(25.88) = ", math.log10(25.88)) # 8. max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。(内置函数) print("max(1, 0, -9, 23, 4, 7, -99, 8) = ", max(1, 0, -9, 23, 4, 7, -99, 8)) print("max(-9, -8, -7, -3) = ", max(-9, -8, -7, -3)) # 9. min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。(内置函数) print("min(-99, 0, -87, -20, -45, 100) = ", min(-99, 0, -87, -20, -45, 100)) print("min(10, 30, 60, 90) = ", min(10, 30, 60, 90)) # 10. modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 print("math.modf(100.88) = ", math.modf(100.88)) print("math.modf(-100.12) = ", math.modf(-100.12)) # 11. pow(x, y) 返回x的y次方的值, 其中y>0 (内置函数) print("pow(2, 4) = ", pow(2, 4)) print("pow(-2, 3) = ", pow(-2, 3)) # pow(x, y, z) 计算x的y次方,再对结果进行z取模,其结果等效于pow(x,y) %z print("pow(2, 4, 2) = ", pow(2, 4, 2)) print("pow(4, 2, 3) = ", pow(4, 2, 3)) # 12. math.pow(x, y)内置方法会把参数作为整型,而math模块则会把参数转换为float。 print("math.pow(4, 5) = ", math.pow(4, 5)) print("math.pow(-6, 2) = ", math.pow(-6, 2)) # 13.round(x [,n])返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数(内置函数) print("round(50.23456) = ", round(50.23456)) print("round(66.659, 1) = ", round(66.659, 1)) print("round(80.264, 2) =", round(80.264, 2)) print("round(100.000056, 3) = ", round(100.000056, 3)) print("round(-100.000056, 3) = ", round(-100.000056, 3)) # 13. sqrt(x) 返回数字x的平方根 print("math.sqrt(100) = ", math.sqrt(100)) print("math.sqrt(10) = ", math.sqrt(10)) print("\n") # 随机函数 # 1. random.choice(seq) 返回一个列表,元组或字符串的随机项。 # 比如random.choice(range(10)),从0到9中随机挑选一个整数返回。 print("random.choice(range(10)) = ", random.choice(range(10))) print("random.choice([2, 7, 9, 0, 1, 4, 3, 6, 5]) = ", random.choice([2, 7, 9, 0, 1, 4, 3, 6, 5])) print("random.choice string = ", random.choice("天国虽美,没有了你,万杯觥筹,只不过是提醒寂寞罢了")) print("random.choice tuple = ", random.choice(("你好", "很好笑", "好开心", "好难过"))) # 2. random.randrange ([start,] stop [,step]) # 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 # 参数: start -- 指定范围内的开始值,包含在范围内。 # stop -- 指定范围内的结束值,不包含在范围内。 # step -- 指定递增基数。 # 从 1-100 中选取一个奇数 print("random.randrange(1,100, 2) = ", random.randrange(1, 100, 2)) print("random.randrange(100) = ", random.randrange(100)) # 从 0-99 选取一个随机数 # 返回100到1000之间的随机数 print("random.randrange(100, 1000) = ", random.randrange(100, 1000)) # 3. random.random() 随机生成下一个实数,它在[0,1)范围内。 print("random.random() : ", random.random()) # 4. random.seed([x]) 改变随机数生成器的种子seed。x -- 改变随机数生成器的种子seed。 # 其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下, # 使用 random() 生成的随机数将会是同一个。 random.seed() print("使用默认种子生成随机数:", random.random()) print("使用默认种子生成随机数:", random.random()) random.seed(10) print("使用整数 10 种子生成随机数:", random.random()) random.seed(100) print("使用整数 100 种子生成随机数:", random.random()) random.seed("HelloWorld", 2) print("使用字符串种子生成随机数:", random.random()) # 5. random.shuffle(lst) 将序列的所有元素随机排序 print("随机排序:", random.shuffle([0, 9, 7, 1, 4, 5, 6, 2, 3])) print("随机排序:", random.shuffle([0, 9, 7, 1, 4, 5, 6, 2, 3])) # 6. uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。 print("random.uniform(10, 100) = " , random.uniform(10, 100)) print("random.uniform(-10, 10) = ", random.uniform(-10, 10)) print("\n") # 三角函数 # 1. math.sin(x) 返回的x弧度的正弦值。数值在 -1 到 1 之间。x是一个数值。 print("math.sin(30) = ", math.sin(30)) print("math.sin(-30) = ", math.sin(-30)) print("math.sin(0) = ", math.sin(0)) print("math.sin(math.pi) = ", math.sin(math.pi)) print("math.sin(math.pi/2) = ", math.sin(math.pi / 2)) # 2. math.asin(x) 返回x的反正弦弧度值。x -- -1到1之间的数值。如果x是大于1,会产生一个错误。 print("math.asin(0.64) = ", math.asin(0.64)) print("math.asin(0) = ", math.asin(0)) print("math.asin(-1) = ", math.asin(-1)) print("math.asin(1) = ", math.asin(1)) # 3. math.cos(x) 返回x的弧度的余弦值。-1 到 1 之间, x是一个数值 print("math.cos(30) = ", math.cos(30)) print("math.cos(45) = ", math.cos(45)) print("math.cos(60) = ", math.cos(60)) print("math.cos(90) = ", math.cos(90)) print("math.cos(math.pi) = ", math.cos(math.pi)) print("math.cos(2*math.pi) = ", math.cos(2 * math.pi)) print("math.cos(0) = ", math.cos(0)) print("math.cos(-90) = ", math.cos(-90)) print("math.cos(-60) = ", math.cos(-60)) # 4. math.acos(x)返回x的反余弦弧度值。x -- -1到1之间的数值。如果x是大于1,会产生一个错误。 print("math.acos(0.64) = ", math.acos(0.64)) print("math.acos(0) = ", math.acos(0)) print("math.acos(-1) = ", math.acos(-1)) print("math.acos(1) = ", math.acos(1)) # 5. math.tan(x) 返回x弧度的正切值。数值在 -1 到 1 之间。x是一个数值。 print("math.tan(30) = ", math.tan(30)) print("math.tan(-30) = ", math.tan(-30)) print("math.tan(0) = ", math.tan(0)) print("math.tan(math.pi) = ", math.tan(math.pi)) print("math.tan(math.pi/2) = ", math.tan(math.pi / 2)) print("math.tan(math.pi/4) = ", math.tan(math.pi / 4)) # 6. math.atan(x) 返回x的反正切弧度值。x -- 一个数值。 print("math.atan(0.64) = ", math.atan(0.64)) print("math.atan(0) = ", math.atan(0)) print("math.atan(10) = ", math.atan(10)) print("math.atan(-60) = ", math.atan(-60)) print("math.atan(-1) = ", math.atan(-1)) print("math.atan(1) = ", math.atan(1)) # 7. math.atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。x,y -- 一个数值。 print("math.atan2(-0.50,-0.50) = ", math.atan2(-0.50, -0.50)) print("math.atan2(0.50,0.50) = ", math.atan2(0.50, 0.50)) print("math.atan2(5,5) = ", math.atan2(5, 5)) print("math.atan2(-10,10) = ", math.atan2(-10, 10)) print("math.atan2(10,20) = ", math.atan2(10, 20)) # 8. math.hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)。x,y -- 一个数值。 print("math.hypot(3, 2) = ", math.hypot(3, 2)) print("math.hypot(-3, 6) = ", math.hypot(-3, 6)) print("math.hypot(0, 4) = ", math.hypot(0, 4)) # 9. math.degrees(x)将弧度转换为角度,返回一个角度值。如degrees(math.pi/2) , 返回90.0 print("math.degrees(30) = ", math.degrees(30)) print("math.degrees(-30) = ", math.degrees(-30)) print("math.degrees(0) = ", math.degrees(0)) print("math.degrees(math.pi) = ", math.degrees(math.pi)) print("math.degrees(math.pi/2) = ", math.degrees(math.pi / 2)) print("math.degrees(math.pi/4) = ", math.degrees(math.pi / 4)) # 10. math.radians(x) 将角度转换为弧度,返回一个角度的弧度值。x是一个数值 print("radians(30) = ", math.radians(30)) print("radians(-30) = ", math.radians(-30)) print("radians(0) = ", math.radians(0)) print("radians(math.pi) = ", math.radians(math.pi)) print("radians(math.pi/2) = ", math.radians(math.pi / 2)) print("radians(math.pi/4) = ", math.radians(math.pi / 4))
来源于:https://mp.weixin.qq.com/s/9NNN_ahgHC6V5h6ZoEhCzg
https://mp.weixin.qq.com/s/YloNBugZJxrH3KrxUYL4uw
为你推荐优秀的课程:
共同学习,写下你的评论
评论加载中...
作者其他优质文章