一 强制类型转换 Number (int float bool complex)
(1) int 强制转换成整型
(2) float 强制转换成浮点型
(3) complex 强制转换成复数
(4) bool 强制转换成布尔型
bool类型为假的十种情况:0 , 0.0 , False , 0j , ‘’,[],(),set(),{},None
二 自动类型转换 Number( int float bool complex)
精度从低向高进行转换 : bool -> int -> float -> complex
自动类型转换,默认从低精度向高精度进行转换(从低到高)
三 容器类型的强制转换 (str list tuple set dict)
(1) str (容器 / Number 都可以转换)
强转成字符串,无非就是在原有的数据的基础上两边套上引号
(2) list : 强制转换成列表
如果是字符串,会把每一个字符单独的作为一个元素放到列表中
如果是字典,只保留键,形成一套新的列表
如果是其他的容器,只是单纯的在原有数据的基础上换上[]
(3) tuple : 强制转换成元组
如果是字符串,会把每一个字符单独的作为一个元素放到元组中
如果是字典,只保留键,形成一套新的元组
如果是其他的容器,只是单纯的在原有数据的基础上换上()
(4) set : 强制转换成集合
如果是字符串,会把每一个字符单独的作为一个元素放到集合中(无序,自动去重)
如果是字典,只保留键,形成一套新的集合
如果是其他的容器,只是单纯的在原有数据的基础上换上{}
(5) dict : 强制转换成字典
强转成字典时 , 必须是等长的二级容器,里面的元素个数是2个
1.外层是列表或者元组或者集合,里面的容器是元组或者列表(推荐)
2. 如何里面是集合,语法上允许,但是有局限性(不推荐)
3. 如果使用字符串,语法上正确,但是有局限性(不推荐)
四 变量的缓存机制:
机制: 只有两个值相同,就只开辟一个空间
1.对于整型而言,-5~正无穷范围内的相同值 id一致
2.对于浮点数而言,非负数范围内的相同值 id一致
3.布尔值而言,值相同情况下,id一致
4.复数在 实数+虚数 这样的结构中永不相同(只有虚数的情况例外)
5.字符串 和 空元组 相同的情况下,地址相同
6.列表,元组,字典,集合无论什么情况 id标识都不同 [空元组例外]
类型转换和变量缓存机制
最新推荐文章于 2024-02-28 21:25:22 发布