Python巩固基础02-基本数据类型之数据类型间的转换

在python中,数据类型转换分为隐式类型转换和显式类型转换,隐式类型转换即python自动进行的转换,一般发生在整数int和浮点数float之间。而显式类型转换则是无法进行自动转换,需要手动通过内置函数进行不同数据类型的转换。

隐式类型转换

>>> 3 + 8
11
>>> 3 + 8.1
11.1

显式类型转换

int(x, [base]) 将x转换为十进制的整数(直接取整数部分,无四舍五入,相当于向下取整);base参数指定x是什么进制数,可选,默认为10;如果只有一个参数,x可以为数字或字符串,如果要指定base,x需要为字符串(字符串中需为数字)。

>>> int(3.9)
3
>>> int('34')
34
# 将八进制的12转换为十进制数
>>> int('12', 8)
10
>>> int('101', 2)
5

float(x),将x转换为浮点数,x可以为数字或字符串(字符串中需为数字)。

>>> float(5)
5.0
>>> float('18')
18.0

str(x)将对象x转换为字符串,x可以为数字、list、tuple、dict、set。

>>> str(9)
'9'
>>> str([1, 2])
'[1, 2]'
>>> str({'a': 'm'})
"{'a': 'm'}"
>>> str({1, 2})
'{1, 2}'

eval(str)计算出字符串中的有效表达式,返回该表达式。

>>> eval('{1, 2}')
{1, 2}
>>> eval('3+2')
5

tuple(s)将s转换为一个元组,s需要为可迭代序列。

>>> tuple('hello')
('h', 'e', 'l', 'l', 'o')
>>> tuple({'a': 1, 'b': 2})
('a', 'b')

list(s)将s转换为一个列表,s需要为可迭代序列。

>>> list('hello')
['h', 'e', 'l', 'l', 'o']
>>> list({'a': 1, 'b': 2})
['a', 'b']

set(s)将s转换为集合,s需要为可迭代序列,会对s中的元素进行去重。

>>> set('hello')
{'h', 'e', 'l', 'o'}
>>> set({'a': 1, 'b': 2})
{'b', 'a'}

dict(d)创建一个字典,d必须为键值对或可迭代对象。

# 关键字参数
>>> dict(x=1, y=2)
{'x': 1, 'y': 2}
# 可迭代对象
>>> dict([('a', 1), ('b', 2)])
{'a': 1, 'b': 2}
# 可迭代对象+关键字参数
>>> dict([('a', 1), ('b', 2)], c=3)
{'a': 1, 'b': 2, 'c': 3}

chr(i)返回i对应的ascii字符,i为十进制或十六进制的数字。

>>> chr(97)
'a'
>>> chr(48)
'0'
>>> chr(0x30)
'0'

ord(c)接收一个字符,返回对应的ascii数值,或者unicode数值,可以与chr(i)配套使用。

>>> ord('a')
97
>>> ord('A')
65
>>> ord('0')
48

hex(x)将整数转换为十六进制字符串,x只能为整数。

>>> hex(12)
'0xc'
>>> hex(16)
'0x10'

oct(x)将整数转换为八进制字符串,x只能为整数。

>>> oct(8)
'0o10'
>>> oct(9)
'0o11'
posted @ 2022-03-06 10:56  hook_what  阅读(74)  评论(0编辑  收藏  举报