Python全栈强制转换怎么实现
发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,这篇文章主要讲解了"Python全栈强制转换怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python全栈强制转换怎么实现"吧!1. Numb
千家信息网最后更新 2024年10月31日Python全栈强制转换怎么实现
这篇文章主要讲解了"Python全栈强制转换怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python全栈强制转换怎么实现"吧!
1. Number强制类型转换
Number
类型的强制转换 (int float complex bool
)
# int 强制把数据变成整型"""int float bool 纯数字字符串"""var1 = 13var2 = 5.67var3 = Truevar4 = "123456"var5 = "123abc"var6 = 3+5jres = int(var2)res = int(var3) # True => 1res = int(False)# False => 0res = int(var4)# res = int(var5) error# res = int(var6) errorprint(res , type(res))# float 强制把数据变成小数"""int float bool 纯数字字符串"""res = float(var1)res = float(var3) # True => 1.0res = float(False)# False => 0.0res = float(var4) # 123456.0 print(res , type(res))# complex 强制把数据变成复数"""int float bool 纯数字字符串 complex"""res = complex(var1) # 添加0j 表达复数res = complex(var2)res = complex(var3) # True => 1+0jres = complex(False) # False => 0jres = complex(var4) # 123456+0jprint(res , type(res))# bool 强制把数据变成布尔型 (布尔型为假的十中情况)"""布尔型可以强转一切数据类型"""""" 0 , 0.0 , False , 0j '' [] () set() {} None """res = bool(None)print(res , type(res))# 初始化变量时,不清楚用什么值,无脑写上None"""None 代表空的,代表什么也没有,一般用于初始化变量"""a =Noneb =None"""默认转换成当前数据类型的一个值int() float() complex() bool()"""res = bool() print(res , type(res))# 额外的扩展"""strvar = "123"strvar = "3.134"strvar = "5+3j"# res = int(strvar)# print(res,type(res))# res = float(strvar)# print(res,type(res))# res = complex(strvar)# print( res,type(res) )"""
2. 自动类型转换_容器类型转换
2.1 Number自动类型转换
Number
自动类型转换 (int float complex bool
)
低精度默认向高精度进行转换bool -> int -> float -> complex"""# bool + intres = True + 100print(res ,type(res)) # 1 + 100 => 101# bool + floatres = True + 344.565 # 1.0 + 344.565 => 345.565print(res ,type(res)) # bool + complexres = True + 7 - 90j # 1 + 0j + 7 - 90j => 8 - 90jprint(res ,type(res)) # int + floatres = 5 + 7.88 # 5.0 + 7.88 => 12.88print(res ,type(res)) # int + complexres = 5 + 6 + 8j # 5 + 0j 6 + 8j => 11 + 8jprint(res ,type(res)) # float + complex res = 5.66 + 9.1 -90j # 5.66 + 0j + 9.1 -90j => 14.76-90jprint(res ,type(res)) '''# 小数的精度损耗 (小数后面一般有时截取15~18位,但是不完全,存在精度损耗)"""不要用小数作比较,咬不准"""print(0.1 + 0.2 == 0.3)print(5.1 + 5.9 == 11.0)0.0999999999999999'''
2.2 容器类型转换
容器类型的强制转换(str list tuple set dict
)
var1 = "我爱你,文哥哥"var2 = [1,2,3]var3 = (4,4,5)var4 = {"陈璐","上朝气","刘子涛","合理"}var5 = {"cl":"文质彬彬,斯文败类","szq":"学霸","lzt":"篮球少年","hl":"武大高手"}var6 = 90var7 = True# str 强制转换成字符串"""所有的数据类型都可以转换, 在当前的数据类型两边套上引号"""res = str(var2) res = str(var3)res = str(var4)res = str(var5)res = str(var6)res = str(var7)print(res ,type(res))# repr 不转移字符原型化输出字符串print(repr(res))# list 强制转换成列表"""如果是字符串:把字符串中的每个元素单独拿出来,作为列表中的新元素如果是字典: 只保留字典中的键如果是其他容器数据:就是单纯的在原数据类型德两边换上[]括号"""res = list(var1)res = list(var3)res = list(var4)# 字典: 只获取字典得键,忽略掉值res = list(var5)# res = list(var6) error 只能是容器间的互转print(res ,type(res))# tuple 强制转换成元组"""如果是字符串:把字符串中的每个元素单独拿出来,作为元组中的新元素如果是字典: 只保留字典中的键如果是其他容器数据:就是单纯的在原数据类型得两边换上()括号"""res = tuple(var1)res = tuple(var2)res = tuple(var4)res = tuple(var5)print(res ,type(res))# set 强制转换成集合"""如果是字符串:把字符串中的每个元素单独拿出来,作为集合中的新元素如果是字典: 只保留字典中的键如果是其他容器数据:就是单纯的在原数据类型得两边换上{}括号"""res = set(var1)res = set(var2)res = set(var5)print(res ,type(res))# 多滤掉列表中所有重复元素;lst = [1,222,3,3,3,44,88,999,77,88,1]res = set(lst)print(res)# 在把当前的集合转换成原来的列表res2 = list(res)print(res2)"""默认不加任何值,转换成该数据类型的空值str() list() tuple() set() dict()"""res = dict()print(res )print(type(res))
3. 字典类型的强转_类型判断
3.1 二级容器
二级容器 ( list tuple set dict
)
# 二级列表lst = [1,2,3,[4,5,6]]# 二级元组tup = (1,2,(10,11))# 二级集合setvar = {1,2,("a","b")}# 二级字典dic = {"a":1,"b":{"c":10}}print(dic["b"]["c"])# 四级容器container = [1,2,3,(4,5,6,{"a":1,"b":[11,"bingo"]})]# (4,5,6,{"a":1,"b":[11,"bingo"]})res1 = container[-1]print(res1)# {'a': 1, 'b': [11, 'bingo']}res2 = res1[-1]print(res2)# [11, 'bingo']res3 = res2["b"]print(res3)# bingores4 = res3[-1]print(res4)# 一步简写res = container[-1][-1]["b"][-1]print(res)# 等长的二级容器"""外面是容器,里面的元素也是容器,且元素个数相同"""lst = [(1,2,3),[4,5,6],{7,8,9}]
3.2 字典类型的强制转换
dict 字典类型的强制转换
"""要求: 必须是等长的二级容器,并且里面的元素个数是2个;外层是列表,元组,集合 , 里层是列表或者元组的等长二级容器 => 字典;"""# 1.外层是列表,里层是列表或者元组lst = [ ["a",1] , ("b",2) ]dic = dict(lst)print(dic , type(dic)) # {'a': 1, 'b': 2}# 2.外层是元组,里层是列表或者元组tup = ( ["a",1] , ("b",2) )dic = dict(lst)print(dic , type(dic))# 3.外层是集合,里层是元组setvar = { ("a",1) , ("b",2) }dic = dict(setvar)print(dic , type(dic))# 例外1:外层是列表/元组,里层放集合"""可以实现,不推荐使用,因为达不到想要的目的,集合无序,不推荐使用"""lst = [ ["a",1] , {"b","250"} ]dic = dict(lst)print(dic)# 例外2:外层是列表/元组,里层放字符串""" 字符串长度只能是2位,有极大的局限性,不推荐使用"""lst = ["a1","b2"]# lst = ["a11","b22"] error # dic = dict(lst)# print(dic)
小提示:
外层是集合,里面不能是列表lst = [ ["a",1] , {"b","250"}]dic = dict(lst)print(dic) 这里可能会输出{'a':1,'b':'250'}或者{'a':1,'250':'b'}lst = ["a1","b2"]dic = dict(lst)print(dic) 这里会输出{a:1,b:2}lst = ["a11","b22"]dic = dict(lst)print(dic) 这里就会报错isinstance比type用的多
3.3 类型判断
判断类型 isinstance
"""# 使用方法一isinstance(数据,类型) 如果该数据是这个类型,返回True 反之,返回False类型: int float complex bool str list tuple set dict# 使用方法二isinstance( 数据, (类型1,类型2,类型3...) )如果该数据在所对应的类型元组当中,返回True,反之,返回False"""# 使用方法一n = 123res = isinstance(n , int)print(res)n = [1,2,3]res = isinstance(n , list)res = isinstance(n , tuple)print(res)# 使用方法二n = "1233"res = isinstance(n , (list , tuple ,set , str) )print(res)n = {"a":1}res = isinstance(n , (list , tuple ,set , str) )print(res)
4. 小练习
题目如下:
1.int,float,complex,bool 分别可以强转哪些数据2.强转布尔类型为假的值有哪些?3.强转字典的条件4.bingo如何获取[1,2,3,4,[5,6,7,[8,9,10,(11,{"a":{"bb":98},"pp":{"d":'bingo'}})]]] 5. 哪个不能转换成字典,为什么? (1){('a',1),{'b',2}} (2){('a',1),('b',2)} (3){('a',1),"c3"} (4){('a',1),"b88"}
小提示:
在一个文件中-5 - 正无穷a = 3b = 3 a和b的id是一样a = b =3 不管是不是-5到正无穷,a和b的id都是一样的
感谢各位的阅读,以上就是"Python全栈强制转换怎么实现"的内容了,经过本文的学习后,相信大家对Python全栈强制转换怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
类型
数据
强制
字典
容器
字符
字符串
元素
外层
使用方法
小数
就是
布尔
方法
括号
数字
精度
学习
推荐
输出
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
求生之路里面的服务器
我国网络安全技术发展趋势
中国商标数据库
solr数据库适用环境
互联网融合科技
数据库系统的核心软件
华为软件开发大会
火影手游所有主播在哪个服务器
计算机网络技术课堂小结
网络安全大赛英语作文
网络安全帽啥意思
视频融合服务器m63
网络技术在信息技术中优势
河南现代化软件开发材料
重庆大合网络技术
软件开发属于科研开发吗
2021年网络安全周活动总结
网络安全保险业态
php数据库中如何保存图片
甘肃电视台公共应急台网络安全
360是网络安全公司吗
点雇网络技术
实时数据库与 opc
富士打印机smtp服务器地址
软件开发研发费有哪些
有女生学软件开发
数据库查看文件内容语句
武汉蟒牛网络技术有限公司
易语言 编辑数据库
计算机网络技术初中