数据类型的转换

该教程介绍了Python中基本数据类型的转换,包括int、float、complex之间的相互转换,以及list、str、dict之间的转换规则。例如,int转换float会自动添加小数点后一位,str转换int需确保字符串仅含数字和符号,bytes转换需同样遵循规则。同时,展示了如何将字符串拆分成列表,以及dict转换为字符串和列表的方法。
摘要由CSDN通过智能技术生成

目录

❤  int

1.  float  →  int

2.  str  →  int

3.  bytes  →  int

❤  float

1.  int  →  float

2.  str  →  float

 3.  bytes  →  float

❤  complex

1.  int  →  complex

2.  float  →  complex

3.  str  →  complex

❤  列表、字符串、字典转换 

1.  list

1.  str  →  list

2.  dict  →  list

2.  str

1.  list  →  str

 2.  dict  →  str

1.  dict

1.  list  →  dict

 2.  str →  dict


python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm=1001.2014.3001.5502

❤  int

其他类型转换成int类型,只有floatstrbytes才能转换成int类型

1.  float  →  int

会去掉个位数以后的数值,仅保留整数部分。

print(int(-12.34))

输出:

-12

2.  str  →  int

如果字符串中有数字(0-9)和正负号(+/-)以外的字符,就会报错

print(int('10086'))
print(int('-122'))
print(int('+321'))

输出:

10086
-122
321

3.  bytes  →  int

bytes 中除数字(0-9)和正负号(+/-)以外的,就会报错。

print(int(b'10086'))
print(int(b'-122'))
print(int(b'+321'))

 输出:

10086
-122
321

❤  float

其他类型转换成float类型,只有intstrbytes才能转换成int类型

1.  int  →  float

int 转换为 float 时,会自动给添加一位小数。

print(float(-2023))

输出:

-2023.0

2.  str  →  float

 如果字符串含有正负号(+/-)、数字(0-9)和小数点(.)以外的字符,则不支持转换。

print(float('-2023'))
print(float('-2023.2024'))

输出:

-2023.0
-2023.2024

 3.  bytes  →  float

如果 bytes 中含有正负号(+/-)、数字(0-9)和小数点(.)以外的字符,则不支持转换

print(float(b'-2023'))
print(float(b'-2023.2024'))

输出:

 -2023.0
-2023.2024

❤  complex

其他类型转换成complex类型,只有intstrfloat才能转换成complex类型

1.  int  →  complex

int 转换 complex 时,会自动添加虚数部分并以0j表示

print(complex(12))

输出:

(12+0j)

2.  float  →  complex

float 转换 complex 时,会自动添加虚数部分并以0j表示

print(complex(-20.23))

输出:

(-20.23+0j)

3.  str  →  complex

str 转换 complex 时,如果能转换成 int float,则会转换后再转为 complex。如果字符串完全符合 complex 表达式规则,也可以转换为 complex 类型值。

print(complex('-20.23'))
# (-20.23+0j)
print(complex('-20.2'))
# (-20.2+0j)
print(complex('-20'))
# (-20+0j)
print(complex('-20+1j'))
# (-20+1j)
# complex(b'20')          # 报错,不支持 bytes 转换为 complex
# complex('20 + 2j')      # 报错,加号两侧不可有空格

❤  列表、字符串、字典转换 

1.  list

1.  str  →  list

复习一下,前面讲过

s5="西瓜-香蕉-苹果-草莓-菠萝-荔枝"
s01 = s5.split('-')
print(s01)
s02 = s5.split(',')
print(s02)

输出:

['西瓜', '香蕉', '苹果', '草莓', '菠萝', '荔枝']
['西瓜-香蕉-苹果-草莓-菠萝-荔枝']

2.  dict  →  list

s5= {'a': 1}
print(list(s5))

输出:

['a']

这个不常用

2.  str

1.  list  →  str

str02 =''.join(['d', 'a', 'c'])
print(str02)

输出:

dac

注意:join前面的字符串 

 2.  dict  →  str

dict02 = {'name':'rose', 'sex':'女', 'age':20}
str01 = '%(name)s%(sex)s%(age)d' % dict02
print('转换后字符串数据:', str01)

输出:

转换后字符串数据: rose女20

1.  dict

1.  list  →  dict

list01 = [
    ['name', 'rose'],['sex', '女'],['age', 20]
]
print(list01)
dict04 = dict(list01)
print(dict04)

 输出:

[['name', 'rose'], ['sex', '女'], ['age', 20]]
{'name': 'rose', 'sex': '女', 'age': 20}

 2.  str →  dict

str02 = "{'name':'rose', 'sex':'女', 'age':20}"
dict03 = eval(str02)
print(str02, type(str02))
print(dict03, type(dict03))

输出:

{'name':'rose', 'sex':'女', 'age':20} <class 'str'>
{'name': 'rose', 'sex': '女', 'age': 20} <class 'dict'>

转换关键词如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橙子味冰可乐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值