甜萝 发表于 2022-6-2 21:14

原创 数据类型转换

本帖最后由 paypojie 于 2022-6-3 11:20 编辑

                                 突然想写一篇数据类型转换的文章哈哈 感兴趣的可以看看 :lol

python有六个数据类型 分别是 数字 字符串 列表 元组 字典 集合 接下来 看看它们之间的相互转换 先看看数字转换为其他数据类型 下面使用的是官方的集成环境 IDLE (Python 3.9 64-bit) 运行的结果
Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) on win32Type "help", "copyright", "credits" or "license()" for more information.>>> str(1)'1'>>>
数字只能转换为字符串 不能转换成 列表 元组 字典 集合 (之所以没有对数字尝试其它方法 是因为上网课时 回忆中是不能转的)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下来看看字符串能转几种数据类型

>>> int('1')
1
>>> int('a')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
    int('a')
ValueError: invalid literal for int() with base 10: 'a'
>>> list('a')
['a']
>>> tuple('a')
('a',)
>>> set('a')
{'a'}
>>> dic('a')
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
    dic('a')
NameError: name 'dic' is not defined
>>>

字符串可以转换为数字 但是引号内的字符串必须为纯数字 还可以转换为列表 元组 集合 不能转换成字典
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
然后看看列表转换成其他五种数据类型的结果

>>> int()
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
    int()
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
>>> str()
''
>>> tuple()
(1,)
>>> dict()
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
    dict()
TypeError: cannot convert dictionary update sequence element #0 to a sequence
>>> set()
{1}
>>>

列表不能转换成数字 字典 可以转换为字符串 元组 集合
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
再看看元组的转换

>>> int(('a',))
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
    int(('a',))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'
>>> str(('a',))
"('a',)"
>>> list(('a',))
['a']
>>> dict(('a',))
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
    dict(('a',))
ValueError: dictionary update sequence element #0 has length 1; 2 is required
>>> set(('a',))
{'a'}
>>>

元组可以转换为字符串 列表 集合 不能转换为数字 字典
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
字典的转换

>>> int({'a':1})
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
    int({'a':1})
TypeError: int() argument must be a string, a bytes-like object or a number, not 'dict'
>>> str({'a':1})
"{'a': 1}"
>>> list({'a':1})
['a']
>>> tuple({'a':1})
('a',)
>>> set({'a':1})
{'a'}
>>>

字典可以转换为字符串 列表 元组 集合 不能转换为数字
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最后 看看集合

>>> int({1})
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
    int({1})
TypeError: int() argument must be a string, a bytes-like object or a number, not 'set'
>>> str({1})
'{1}'
>>> list({1})

>>> tuple({1})
(1,)
>>> dict({1})
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
    dict({1})
TypeError: cannot convert dictionary update sequence element #0 to a sequence
>>>

集合不能转换为数字 字典 可以转换为字符串 列表 元组
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总结:

数字只能转换为字符串
字符串可以转换为数字 (但要求字符串是纯数字 比如 '1'这种字符串) 列表 元组 集合
列表只能转换为字符串 元组 集合
元组只能转换为字符串 列表 集合
字典只能转换为字符串 列表 元组 集合
集合只能转换为字符串 列表 元组

数据转换之间的关系



可以看出 数字只能转换为字符串这一种类型, 字符串可以转换为数字 (但字符串必须是纯数字) 列表 元组 集合,列表 元组 集合这三种数据类型之间可以互相转换,字典可以被转换为字符串 列表 元组 集合 但是其他五种数据不能转换为字典。

如有错误 请在评论区指出 谢谢

甜萝 发表于 2022-6-2 21:35

每个评论争取都回复:lol

cwzy8 发表于 2022-6-3 01:08

python是个好工具,一起来学习咯{:1_921:}

twdfg 发表于 2022-6-3 01:29

很适合正在学python的来看。

甜萝 发表于 2022-6-3 10:32

cwzy8 发表于 2022-6-3 01:08
python是个好工具,一起来学习咯

确实 嘿嘿 :lol:lol

甜萝 发表于 2022-6-3 10:33

twdfg 发表于 2022-6-3 01:29
很适合正在学python的来看。

python入门不难 :lol
页: [1]
查看完整版本: 原创 数据类型转换