Python数字(number)

《Python数字(number)》

简介

数字(number)是不可更改的类型,因此变更数字会生成新的对象,重新分配内存空间。

Python3中支持三种数值类型:

  • 整型(int):又称整数。Python3中整型没有限制大小,因此不包括python2中的长整型。除此之外,布尔类型也是只有两个值的整型。
  • 浮点型(float):浮点型值通常都有一个小数点和一个可选的后缀e(科学计数法,比如:1.5e3=1500)。
  • 复数(complex):复数由实数部分和虚数部分组成,实数部分和虚数部分都是浮点型,虚数部分必须有后缀j或J(比如1.3+1.4j)或者用complex(1.3, 1.4)表示。

类型转换

这三种数值类型之间可以通过类型函数名进行转换。

除了这些转换函数,Python中提供很多用于数字数据处理的函数:

  • 数学运算函数
  • 三角函数
  • 布尔函数
  • 随机数函数
  • 进制转换函数
  • ASCII转换函数

数学运算函数

函数 描述
abs(x) 返回数字的绝对值
(x > y) – (x < y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) 返回e的x次幂
fabs(x) 返回数字的绝对值
ceil(x) 返回数字的上入整数
floor(x) 返回数字的下舍整数
log(x) 默认以e为底的函数,可以引入其他底,log(x, 底)
log10(x) 返回以10为基数的x的对数
max(x1, x2, …) 返回给定参数的最大值,参数可以为序列
min(x1, x2, …) 返回给定参数的最小值,参数可以为序列
modf(x) 返回x的小数部分与整数部分,两部分的数值符号与x相同,整数部分以浮点型表示
pow(x, y) x的y次方
round(x, n) ”理论上”返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数
sqrt(x) 返回数字x的平方根
divmod(x, y) 除法-取余计算的结合。返回一个元组(x / y, x % y), 对浮点型和复数的商进行下取整

代码演示:

需要注意的是round()函数,当近似到整数部分,如果距离两边一样远,会保留到偶数的一边,比如round(0.5)round(-0.5)都会保留到0,而round(1.5)会保留到2。如果是保留几位小数,要看机器在截断二进制数的时候是偏大还是偏小了,比如round(2.675, 2)结果为2.67,而round(1.245, 2)结果为1.25。在机器中浮点数不一定能精确表达,因为换算成一串1或0后可能是无限位数的,机器已经做出了截断处理,实际得到的值会或大或小一点点,从而导致这种“bug”。因此,对浮点精度要求很高的话,请用decimal模块

三角函数

函数 描述
sin(x) 返回的x弧度的正弦值
cos(x) 返回x的弧度的余弦值
tan(x) 返回x弧度的正切值
asin(x) 返回x的反正弦弧度值
acos(x) 返回x的反余弦弧度值
atan(x) 返回x的反正切弧度值
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值
hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)
degrees(x) 将弧度转换为角度
radians(x) 将角度转换为弧度

代码演示:

布尔函数

布尔值有两个:True和False,他们分别对应1和0。

代码演示:

随机数函数

在数据挖掘,游戏设计和算法等领域都要使用随机数,python的random模块包含以下常用的随机数函数:

函数 描述
choice(x) 从序列x的元素中随机挑选一个元素
random() 在[0,1)范围内随机生成一个实数
randint(x, y) 在整数[x,y]范围内随机生成一个整数
uniform(x, y) 在[x,y]范围内随机生成一个实数
randrange(start, stop, step) 从指定范围内[start, stop)不包含stop,按指定步数递增的集合中获取一个随机数,步数缺省值为1
shuffle(x) 将序列x的所有元素随机排序
seed(x) 随机数生成器的种子seed。如果不设定x,每次结果都随机,该函数没有返回值,在调用其他随机模块函数之前调用此函数。

代码演示:

进制转换函数

函数 描述
int(x, y) 将字符串x(二进制、八进制、十六进制)转换成十进制数并以字符串形式返回,y参数表示x是几进制数
bin(x) 将数字x(十进制)转换成二进制数并以字符串形式返回
oct(x) 将数字x(二进制、十进制、十六进制)转换成八进制数并以字符串形式返回
hex(x) 将数字x(十进制)转换成十六进制数并以字符串形式返回

转十进制

使用int()函数,将字符串转换成十进制数。

二进制转十进制

八进制转十进制

十六进制转十进制

转二进制

十进制转二进制

八进制转二进制
先转十进制,再转二进制

十六进制转二进制
先转十进制,再转二进制

转八进制

二进制转八进制

十进制转八进制

十六进制转八进制

转十六进制

十进制转十六进制

二进制转十六进制
先转十进制,再转十六进制

八进制转十六进制
先转十进制,再转十六进制

ASCII转换函数

函数 描述
chr(x) 将x的值转换成ASCII字符,x的范围在[0, 255]之间
ord(x) 接受一个ASCII字符,返回相应的ASCII值

代码演示:

完整的ASCII表

最后附上完整的ASCII对查表:

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUL 32 (space) 64 @ 96
1 SOH 33 65 A 97 a
2 STX 34 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 X 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 92 \ 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 94 ^ 126 ~
31 US 63 ? 95 127 DEL

十进制 十六进制 字符 十进制 十六进制 字符
128 80 Ç 192 C0
129 81 ü 193 C1
130 82 é 194 C2
131 83 â 195 C3
132 84 ä 196 C4
133 85 à 197 C5
134 86 å 198 C6
135 87 ç 199 C7
136 88 ê 200 C8
137 89 ë 201 C9
138 8A è 202 CA
139 8B ï 203 CB
140 8C î 204 CC
141 8D ì 205 CD
142 8E Ä 206 CE
143 8F Å 207 CF
144 90 É 208 D0
145 91 æ 209 D1
146 92 Æ 210 D2
147 93 ô 211 D3
148 94 ö 212 D4 Ô
149 95 ò 213 D5
150 96 û 214 D6
151 97 ù 215 D7
152 98 ÿ 216 D8
153 99 Ö 217 D9
154 9A Ü 218 DA
155 9B ¢ 219 DB
156 9C £ 220 DC
157 9D ¥ 221 DD
158 9E ? 222 DE ?
159 9F ƒ 223 DF ?
160 A0 á 224 E0 α
161 A1 í 225 E1 ß
162 A2 ó 226 E2 Γ
163 A3 ú 227 E3 π
164 A4 ñ 228 E4 Σ
165 A5 Ñ 229 E5 σ
166 A6 ª 230 E6 µ
167 A7 º 231 E7 τ
168 A8 ¿ 232 E8 Φ
169 A9 ? 233 E9 Θ
170 AA ¬ 234 EA Ω
171 AB ½ 235 EB δ
172 AC ¼ 236 EC
173 AD ¡ 237 ED φ
174 AE « 238 EE ε
175 AF » 239 EF
176 B0 ? 240 F0
177 B1 ? 241 F1 ±
178 B2 242 F2
179 B3 243 F3
180 B4 244 F4 ?
181 B5 245 F5 ?
182 B6 246 F6 ÷
183 B7 247 F7
184 B8 248 F8
185 B9 249 F9 ?
186 BA 250 FA ·
187 BB 251 FB
188 BC 252 FC ?
189 BD 253 FD ²
190 BE 254 FE
191 BF 255 FF ÿ

点赞