Python基础-02(数据类型的转换)
2023-12-30 05:05:53
前言
本章大致了解主要的四种数据类型(int、float、string、Boolean)的强制转换
一、转换为整形(int)
b = 1
# 了解一下 python中数字(不加引号)默认的数据类型是int类型
print(type(b)) # <class 'int'>
1.str -> int
b = 1
b1 = str(b)
print(type(b1)) # <class 'str'>
2.float -> int
# float -> int
b2 = 1.83
b2 = int(b2)
print(type(b2)) # <class 'int'>
# 将float类型转换为int类型时,取整数部分(注意:不是四舍五入)
print(b2) # 1
3.bool -> int
# bool -> int
b4 = True
b5 = False
b4 = int(b4)
b5 = int(b5)
print(b4, b5) # 1 0
# 可以得知 布尔类型转换为int时 True为1 False为0
4.数据类型转换为int时的注意事项
'''
例:
a = '1.23' 此时变量a为字符串
a = int(a) 将字符串转换为整形
print(a) 报错 float转int是取前面的整数部分,而str转int毫无逻辑可言,小数点无法解析为数字
# str转数字(int、float等) 必须要符合数字内容的逻辑 以str转int为例 其中不可以有字母和非法字符
'''
二、转换为浮点数(float)
1.int -> float
b3 = float(b2)
print(type(b3)) # <class 'float'>
print(b3) # 1.0
2.str -> float
c1 = '1.11'
c1 = float(c1)
print(c1) # 1.11
print(type(c1)) # <class 'float'>
3.注意事项
'''
还是那句话,和上面str转int一个道理,如果str里面的内容不符合float转换的逻辑
就是出现一些非法字符什么的(str转float可以有小数点,但是str转int不可以)
'''
三、转换为字符串(str)
'''
为什么要转换成字符串?
将数据类型转换为字符串大都是用来 拼接 因为字符串只能和字符串进行拼接
'''
name = 'jwel:'
age = 23
print(name + age) #报错
'''
print(name + age) 此时报错 因为字符串无法和整形变量直接拼接在一起
所以要将其他类型转换为str类型才可以进行拼接
'''
1.int -> str
age = str(age)
print(name + age) # jwel:23
2.float -> str
height = 183.5
height = str(height)
print(name + height) # jwel:183.5
3.bool -> str
result = True
result = str(result)
print(result) # True
四、转换为布尔类型(bool)
'''
为什么要转换成字符串?
将数据类型转换为字符串大都是用来 拼接 因为字符串只能和字符串进行拼接
'''
name = 'jwel:'
age = 23
print(name + age) #报错
'''
print(name + age) 此时报错 因为字符串无法和整形变量直接拼接在一起
所以要将其他类型转换为str类型才可以进行拼接
'''
1.int -> bool
i = 1
i = bool(i)
print(i) # True
i1 = 2
i1 = bool(i1)
print(i1) # True
i2 = -1
i2 = bool(i2)
print(i2) # True
i0 = 0
i0 = bool(i0)
print(i0) # False
'''
由以上案例可以得出结论 若对非0整数进行布尔转换,结果为True,反之为False
'''
2.float -> bool
f = 1.23
f = bool(f)
print(f) # True
f1 = -0.23
f1 = bool(f1)
print(f1) # True
f0 = 0
f0 = bool(f0)
print(f0) # False
'''
由以上案例可以得出结论 若对非0.0浮点数进行布尔转换,结果为True,反之为False
'''
3.str -> bool
# 只要字符串中有内容,那么强制转换为bool类型时都为True,反之为False(有空格也算有字符)
s = "加油加油"
s = bool(s)
print(s) # True
s1 = ""
s1 = bool(s1)
print(s1) # False
4.list -> bool
# 只要列表中有元素(数据),那么强制转换为bool类型时,返回True;反之为False
lt = ['a', 'b', 'c']
lt = bool(lt)
print(lt) # True
lt0 = [] # 这里一个元素都没有就是 奥义真·空 列表空 返回False
lt0 = bool(lt0)
print(lt0) # False
'''
注意啊!列表中拥有元素就不算空,元素的内容为空是元素的事情,但是依然是一个元素(存在),列表不为空
'''
lt1 = [''] # 元素空不代表列表空
lt1 = bool(lt1)
print(lt1) # True
5.tuple -> bool
# 只要元组中有元素(数据),那么强制转换为bool类型时,返回True;反之为False
tp = (1, 2, 3)
tp = bool(tp)
print(tp) # True
tp0 = () # 空元组
tp0 = bool(tp0)
print(tp0) # False
6.dict -> bool
# 只要字典中有内容(键值对),那么强制转换为bool类型时,返回True;反之为False
dc = {"name": "paul"}
dc = bool(dc)
print(dc) # True
dc0 = {}
dc0 = bool(dc0)
print(dc0) # False
五、总结(可以直接看总结,然后不明白再去看具体的例子)
'''
大致总结一下 转换为bool类型的规律
int 和 float 的规律
int非0整数均为True;0为False
float非0.0浮点数均为True;0.0为Flase
str
字符串内容非空即为True;反之为False
list、tuple、dict
里面有内容就为True
没有内容 空的时候为False
'''
文章来源:https://blog.csdn.net/qq_45657848/article/details/135301040
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!