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)
    
  • 相关阅读:
    20180915问题总结二
    20180917问题总结
    20190915问题总结
    常见问题整理目录
    电商中的库存管理实现-mysql与redis
    电商学习目录
    什么是SPU、SKU、SKC、ARPU
    C#趣味程序---三色球问题
    .NET开源的背后:是无奈,还是顺应潮流?
    mongoengine
  • 原文地址:https://www.cnblogs.com/jia-shu/p/14013365.html
Copyright © 2011-2022 走看看