类型转换及相关函数

4.11 类型转换及相关函数

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

10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有岚县免费网站建设让你可以放心的选择与我们合作。

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'

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)

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)

ceg
ceg

4.11.7 str(obj)

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

'8'
'[1, 2, 3]'


本文名称:类型转换及相关函数
文章位置:http://myzitong.com/article/dsogsoo.html