Python3数据类型之数字

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即自然常数(自然常数)。
示例代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/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) 将角度转换为弧度。
代码示例:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
#!/usr/bin/python3# -*- coding: utf-8 -*-# author : liuhefei# Time : 2019/11/9# desc: Python数字函数import mathimport randomif __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
Python3数据类型之数字的更多相关文章
- Python数据类型之“数字(numerics)”
上一节内容说的是"Python基本语法",本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个存放位置通过变量名可以找到: 在内存中 ...
- Python3数据类型及转换
I. 数据类型 Python3将程序中的任何内容统称为对象(Object),基本的数据类型有数字和字符串等,也可以使用自定义的类(Classes)创建新的类型. Python3中有六个标准的数据类型: ...
- Python开发——2.基本数据类型之数字和字符串
一.基本数据类型 基本数据类型包括:数字(int).字符串(str).列表(list).元祖(tuple).字典(dict).布尔值(bool). 查看输出数据的类型 a = "123&qu ...
- 【转】Python数据类型之“数字(numerics)”
[转]Python数据类型之“数字(numerics)” 上一节内容说的是“Python基本语法”,本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个 ...
- 整理了最全的Python3数据类型转换方法,可以收藏当手册用
本文基于python3.8版本,总结了各种数据类型直接的转换规则和方法.算是比较全了,可以收藏当手册来查. 概述 数据类型转换,指的是通过某种方法,将一个数据由原来的类型转换为另外一个类型.比如,我们 ...
- mysql学习1:数据类型:数字型,日期和时间,字符串类型(总结)
mysql数据类型:数字型,日期和时间,字符串类型 摘要 MySQL中定义数据字段的类型对数据库的优化是非常重要的: MySQL支持多种类型,大致可以分为三类,如下. 数字类型 整数:tinyint. ...
- html的基本数据类型(数字,字符串, 列表, 字典)
基本数据类型 1. 数字 a = 18 ; 2. 字符串 a = 'alex'a.chartAt(索引位置)a.substring(起始位置, 借宿位置)a.length 获取当前字符串长度a.tri ...
- Python数据类型-01.数字和布尔值
本节主要介绍Python中的基础知识中的数据类型,数字和布尔值 介绍几个知识点:1)内置函数print()的用法,直接打印括号里面的内容,或者print后跟多个输出,以逗号分隔.2)内置函数type( ...
- 第七篇Python基本数据类型之数字&字符串&布尔值
数字 写在最前,必须要会的:int() 整型 Python3里无论数字多长都用int表示,Python2里有int和Long表示,Long表示长整型 有关数字的常用方法,方法调用后面都必须带括号() ...
随机推荐
- Hadoop(一)—— 启动与基本使用
一.安装&启动 安装 下载hadoop2.7.2 https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/ 2.7.2-官方文档 ...
- appium+python 微信小程序的自动化
sudo kill -9 $(lsof -i:8889 -t) mitmweb -p 8889 -s addons.py mitmdump -q -p 8889 -s addons.py http: ...
- Traverse an expression tree and extract parameters
Traverse an expression tree and extract parameters I think as you've said that using ExpressionVis ...
- Workstation 14 Returns EFI Network Start PXE over IPv4 When Installing New Win10 Guest O/S
当启动出现“Click any key to boot from DVD”时候,需要键盘点击一下,即可解决. 参考:https://communities.vmware.com/thread/5730 ...
- 文献阅读 | Benchmarking single cell RNA-sequencing analysis pipelines using mixture control experiments
资源: sci-hub paper CellBench package - github CellBench_data - code for the paper 现在单细胞领域的突出问题就是工具过多, ...
- button按钮的状态为disabled禁用状态,click事件无法触发,但是为什么touchstart下却依然可以触发
切换到移动模拟模式,并点击按钮,查看控制台. 发现click没有事件没有触发,而touch事件依然触发. 解决办法: 对于移动端我们使用css来禁止按钮,达到disable的效果: 对,就是这个神奇的 ...
- MySQL not equal to operator <> && !=
MySQL :: MySQL 5.7 Reference Manual :: 12.3.2 Comparison Functions and Operatorshttps://dev.mysql.co ...
- 表单在ios下输入框必须重压或长按才能唤起软键盘
解决方案: 一.在node_module里找到fastClick文件,然后找到focus方法,加一句focus方法即可解决:FastClick.prototype.focus = function(t ...
- nginx的代理配置
date: 2019-07-19 16:52:18 author: headsen chen proxy_pass http://aaa /; 如果在proxy_pass末尾的url加/,表示绝对 ...
- asp乱码问题
UTF-8编码的话:在ASP脚本顶部加入<%@Language="vbscript" Codepage="65001"%>以及再在<head& ...