zoukankan      html  css  js  c++  java
  • 3.自动转换与强制转换

    1.缓存机制 同一个数ID一样

    ​ 作用:为了减少内存空间,提高代码执行效率

    1.1同一文件下

    ​ 1)Number数据类型:

    ​ int整型缓存: -5~正无穷

    ​ float浮点型: 非负数

    ​ bool布尔型: 同真同假ID一样

    ​ complex复数:除了正虚数,其他ID都不一样

    ​ 2)容器类型:

    ​ 除了str字符串和空元组,其他ID都不一样

    1.2不同文件下

    ​ int整型:-5~256

    2.自动转换

    ​ 只局限在Number数据类型上:

    ​ 规则:不同类型数据向高精度类型转换

    ​ 精度从低到高:bool布尔<int整型<float浮点型<complex复数类型

    ​ 例如:var=33+44.44 输出结果就是浮点型

    3.强制转换

    3.1Number数据类型的强制转换

    ​ int整型可以强转类型:int float(小数去掉了) bool(1真,0假)

    ​ float浮点型强转类型:int float bool #往上填零

    ​ complex复数强转: int float bool complex

    ​ bool布尔类型:可以强转一切,六大类型都可以,非零非空为真,零空None为假

    3.2容器的强制转换

    1)str字符串,可以强转一切,六大类型都可以
    2)list列表强转:

    ​ 规则:如果是字符串,里面的内容一个一个列出来,变成新类型的元素

    ​ 如果是字典,只转键,不要值

    ​ 其他类型tuple元组、set集合只改变成中括号[]

    3)tuple元组类型:

    ​ 规则:与list列表一样:如果是字符串,里面的内容一个一个列出来,变成新类型的元素

    ​ 如果是字典,只转键,不要值

    ​ 其他类型list列表、set集合只改变成小括号()

    4)set集合类型:无序,去重

    ​ 规则:与list列表一样:如果是字符串,里面的内容一个一个列出来,变成新类型的元素

    ​ 如果是字典,只转键,不要值

    ​ 其他类型list列表、set集合只改变成大括号{}

    5)dict字典类型强转:

    ​ n级容器=一个容器里逐层套(n-1)个容器

    ​ 提取容器的值

    		var=[['a',22],['b',33],('c',44)]
    		print(var[2][0])	#取容器里面的值,逐层剥皮找
    

    ​ 要求:只能强制转换等长的二级容器,并且容器元素的个数只能是2个

    ​ (1)list[]和tuple()里面只放list、tuple容器

    		var1=[[‘a’,111],(‘b’,222)]	
        	        var2=([‘a’,111],(‘b’,222),(‘c’,333))	
    		res1=dict(var1)		
                    res2=dict(var2)
    		print(res1,res2)
    

    ​ (2)set{}里面只放tuple()

    		var={(‘a’,11),(‘b’,22)}	
        		res=dict(var)
            	print(res)
    
  • 相关阅读:
    Nginx常用命令
    Nginx进程模型
    华为联运游戏或应用审核驳回:使用花币充值时,对支付延时处理不当,导致商品不到账
    使用Data Ability读取系统设置项
    100个HarmonyOS 2.0开发者Beta公测名额,限时认领!
    【有奖活动】HarmonyOS开发者创新大赛颁奖典礼丨见证星星之火燃爆盛夏
    你其实可以更快!用Toolkit拖拽式编码方法帮你快速提升开发效率
    真机调试设备不够?华为AGConnect云调试帮你忙
    华为后台某应用商品展示价格币种随其他应用配置而变化
    HMS Core.Sparkle影音娱乐创新沙龙邀您参加
  • 原文地址:https://www.cnblogs.com/jia-shu/p/14013365.html
Copyright © 2011-2022 走看看