类型转换及相关函数

4.11 类型转换及相关函数

在Python中,不同的数据类型是可以相互转换的,下面列举一些之前没有介绍但是比较常见的数据类型转换及相关函数,以供参考。

4.11.1 进制转换类

4.11.1.1 bin(x)

描述
将整数转变为以“0b”前缀的二进制字符串。
示例
>>> bin(3)
>>> bin(-10)

‘0b11’
‘-0b1010’

4.11.1.2 int(x)、int(x, base=10)

描述
返回x的整数部分。如果有base参数,则x必须为字符串,返回的结果为将x作为base参数指定的进制数转换成10进制后的数。
示例
>>> int(1.5)
>>> int(-1.5)
>>> int(‘2.3’)
>>> int(‘16’, 8)

1
-1
2
14

4.11.1.3 oct(x)

描述
将一个整数转变为一个前缀为“0o”的八进制字符串。
示例
>>> oct(16)
>>> oct(22)

‘0o20’
‘0o26’

4.11.1.4 hex(x)

描述
将整数转换为以“0x”为前缀的小写十六进制字符串。
示例
>>> hex(16)
>>> type(hex(16))

‘0x10’
<class ‘str’>

4.11.2 bool([x])

描述
返回x的布尔值,结果为True 或 False。如果 x 为 False 或省略,则返回 False;否则返回 True。
示例
>>> bool()
>>> bool(5)

False
True

4.11.3 chr(int)、ord(char)

描述
返回 Unicode 码位为整数 i 的字符的字符串。ord()函数是chr()的逆函数。
chr()函数的实参的合法范围是 0 到 1,114,111(16 进制表示是 0x10FFFF)。如果 i 超过这个范围,会触发 ValueError 异常。
示例

for i in range(80, 85):
    print(chr(i))

P
Q
R
S
T

4.11.4 float([x])

描述
返回从数字或字符串 x 生成的浮点数。
示例
>>> float(25)
>>> float(‘5.3’)

25.0
5.3

4.11.5 range(stop)、range(start, stop[, step])

描述
range函数返回一个不可变的序列类型。有2种调用方式:
第1种只需要输入stop参数,为一个大于0的正整数。返回的序列的值为0到stop-1,步长为1。
第2种需要输入起始值和结束值,step作为可选参数。返回的序列的值为start到stop-1,步长为step。step可以为负数,若为负数时,则start必须大于stop。
示例

from typing import *
r = range(3)
print(r)
print(type(r))
print(isinstance(r, Iterable))
print(isinstance(r, Iterator))
for i in r:
    print(i)

range(0, 3)
<class ‘range’>
True
False
0
1
2

r = range(1, 11, 2)
for i in r:
    print(i)

1
3
5
7
9

r = range(11, 1, -2)
for i in r:
    print(i)

11
9
7
5
3

4.11.6 slice(stop)、slice(start, stop[, step])

描述
返回一个 slice 对象,代表由 range(start, stop, step) 指定索引集的切片。 其中参数 start 和 step 的默认值为 None。slice函数的两种用法关于参数的部分和range函数一致,可以参考range函数参数用法。
it[slice(start, stop, step)] 等效于 it[start:stop:step]
有了slice对象可以很方便的对多个可迭代对象进行相同的切片。
示例

a = 'abcdefgh'
x = slice(2, 8, 2)
print(x)
print(type(x))
print(a[x])
print(a[2:8:2])

slice(2, 8, 2)
<class ‘slice’>
ceg
ceg

4.11.7 str(obj)

描述
返回obj的字符串版本
示例
>>> str(5+3)
>>> str([1, 2, 3])

‘8’
‘[1, 2, 3]’

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0思必得0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值