python数字形式转换代码_Python数字(number)

数字1-1024x570.png

简介

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

Python3中支持三种数值类型:

整型(int):又称整数。Python3中整型没有限制大小,因此不包括python2中的长整型。除此之外,布尔类型也是只有两个值的整型。

浮点型(float):浮点型值通常都有一个小数点和一个可选的后缀e(科学计数法,比如:1.5e3=1500)。

复数(complex):复数由实数部分和虚数部分组成,实数部分和虚数部分都是浮点型,虚数部分必须有后缀j或J(比如1.3+1.4j)或者用complex(1.3, 1.4)表示。

类型转换

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

int(x) #将x转成整数

float(x) #将x转成浮点数

complex(x) #将x转成一个复数,实部为x,虚部为0

complex(x, y) #将x、y转成一个复数,实部为x,虚部为y

1

2

3

4

int(x)#将x转成整数

float(x)#将x转成浮点数

complex(x)#将x转成一个复数,实部为x,虚部为0

complex(x,y)#将x、y转成一个复数,实部为x,虚部为y

除了这些转换函数,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), 对浮点型和复数的商进行下取整

代码演示:

>>>import math

>>>abs(-5)

-5

>>>(2 > 1) - (2 < 1)

1

>>>math.exp(2)

7.38905609893065

>>>math.fabs(-5)

5.0

>>>math.ceil(4.5)

5

>>>math.floor(4.5)

4

>>>math.log(math.e)

1.0

>>>math.log(9, 3)

2.0

>>>max([1, 2, 3, 4])

4

>>>min([1, 2, 3, 4])

1

>>>math.modf(-2.5)

(-0.5, -2.0)

>>>pow(2, 3)

8

>>>round(0.5)

0

>>>round(1.5)

2

>>>round(2.675)

2.67

>>>round(1.245)

1.25

>>>math.sqrt(9)

3.0

>>>divmod(4, 3)

(1, 1)

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

>>>importmath

>>>abs(-5)

-5

>>>(2>1)-(2<1)

1

>>>math.exp(2)

7.38905609893065

>>>math.fabs(-5)

5.0

>>>math.ceil(4.5)

5

>>>math.floor(4.5)

4

>>>math.log(math.e)

1.0

>>>math.log(9,3)

2.0

>>>max([1,2,3,4])

4

>>>min([1,2,3,4])

1

>>>math.modf(-2.5)

(-0.5,-2.0)

>>>pow(2,3)

8

>>>round(0.5)

0

>>>round(1.5)

2

>>>round(2.675)

2.67

>>>round(1.245)

1.25

>>>math.sqrt(9)

3.0

>>>divmod(4,3)

(1,1)

需要注意的是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)

将角度转换为弧度

代码演示:

>>>import math

>>>math.sin(math.pi/2)

1.0

>>>math.hypot(3, 4)

5.0

>>>math.degrees(math.pi)

180.0

>>>math.radians(180)

3.141592653589793

1

2

3

4

5

6

7

8

9

10

11

12

>>>importmath

>>>math.sin(math.pi/2)

1.0

>>>math.hypot(3,4)

5.0

>>>math.degrees(math.pi)

180.0

>>>math.radians(180)

3.141592653589793

布尔函数

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

代码演示:

>>>bool(1)

True

>>>bool(0)

False

>>>bool('0')

True

>>>bool([])

False

>>>x = 1

>>>y = x < 2

>>>y

True

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

>>>bool(1)

True

>>>bool(0)

False

>>>bool('0')

True

>>>bool([])

False

>>>x=1

>>>y=x<2

>>>y

True

随机数函数

在数据挖掘,游戏设计和算法等领域都要使用随机数,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,每次结果都随机,该函数没有返回值,在调用其他随机模块函数之前调用此函数。

代码演示:

>>>import random

>>>random.choice([1, 2, 3, 4])

3

>>>random.random()

0.297556756440553

>>>random.randint(1, 10)

4

>>>random.uniform(1, 3)

1.786673945115081

>>>random.randrange(0, 10, 2)

6

>>>x = [1, 2, 3, 4]

>>>random.shuffle(x)

>>>x

[3, 4, 1, 2]

>>>random.seed(1) #种子数固定,产生的随机数一样

>>>random.random()

0.13436424411240122

>>>random.seed(1) #种子数固定,产生的随机数一样

>>>random.random()

0.13436424411240122

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

>>>importrandom

>>>random.choice([1,2,3,4])

3

>>>random.random()

0.297556756440553

>>>random.randint(1,10)

4

>>>random.uniform(1,3)

1.786673945115081

>>>random.randrange(0,10,2)

6

>>>x=[1,2,3,4]

>>>random.shuffle(x)

>>>x

[3,4,1,2]

>>>random.seed(1)#种子数固定,产生的随机数一样

>>>random.random()

0.13436424411240122

>>>random.seed(1)#种子数固定,产生的随机数一样

>>>random.random()

0.13436424411240122

进制转换函数

函数

描述

int(x, y)

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

bin(x)

将数字x(十进制)转换成二进制数并以字符串形式返回

oct(x)

将数字x(二进制、十进制、十六进制)转换成八进制数并以字符串形式返回

hex(x)

将数字x(十进制)转换成十六进制数并以字符串形式返回

转十进制

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

二进制转十进制

>>>int('101', 2)

5

1

2

>>>int('101',2)

5

八进制转十进制

>>>int('17', 8)

15

1

2

>>>int('17',8)

15

十六进制转十进制

>>>int('0xf', 16)

15

1

2

>>>int('0xf',16)

15

转二进制

十进制转二进制

>>>bin(5)

'0b101'

1

2

>>>bin(5)

'0b101'

八进制转二进制

先转十进制,再转二进制

>>>bin(int('17', 8))

'0b1111'

1

2

>>>bin(int('17',8))

'0b1111'

十六进制转二进制

先转十进制,再转二进制

>>>bin(int('0xf', 16))

'0b1111'

1

2

>>>bin(int('0xf',16))

'0b1111'

转八进制

二进制转八进制

>>>oct(0b1111)

'0o17'

1

2

>>>oct(0b1111)

'0o17'

十进制转八进制

>>>oct(15)

'0o17'

1

2

>>>oct(15)

'0o17'

十六进制转八进制

>>>oct(0xf)

'0o17'

1

2

>>>oct(0xf)

'0o17'

转十六进制

十进制转十六进制

>>>hex(15)

'0xf'

1

2

>>>hex(15)

'0xf'

二进制转十六进制

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

>>>hex(int('0b1111', 2))

'0xf'

1

2

>>>hex(int('0b1111',2))

'0xf'

八进制转十六进制

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

>>>hex(int('0o17', 8))

'0xf'

1

2

>>>hex(int('0o17',8))

'0xf'

ASCII转换函数

函数

描述

chr(x)

将x的值转换成ASCII字符,x的范围在[0, 255]之间

ord(x)

接受一个ASCII字符,返回相应的ASCII值

代码演示:

>>>chr(97)

'a'

>>>ord('a')

97

1

2

3

4

5

>>>chr(97)

'a'

>>>ord('a')

97

完整的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

ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值