python---类型转换&二级容器&缓存机制

Posted ll-mcp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python---类型转换&二级容器&缓存机制相关的知识,希望对你有一定的参考价值。

一.自动类型转换

自动转换遵循规则:

精度从低到高 bool-->int-->float-->complex

例:

1. bool + int

res = True + 100 # 1+100

2. bool + float

res = True + 3.13 # 1.0+3.13

3. bool + complex

res = True + 3-5j # 1+0j + 3-5j

4. int + float

res = 123 + 2.1 # 123.0+2.1

5. int + complex 

res = 111 + 3-5j # 111+0j + 3-5j

6. float + complex

res = 2.1 + 4-5j # 2.1+0j + 4-5j

 

二.强制类型转换

Number (int float bool complex)

int            整型      浮点型   布尔型   纯数字字符串

float         整型      浮点型   布尔型   纯数字字符串

complex  整型       浮点型   布尔型   纯数字字符串(复数也可)

bool    Number / 容器类型均可

例:

var1 = 3

var2 = 2.1

var3 = True

var4 = 5+6j

var5 = "123"

int  float  complex 强制转换

res = int(var2)

res = int(var3)

# res = int(var4) error

res = int(var5)

res = float(var1)

res = complex(var1)

print(res) # 123

bool 类型强制转换

"""Flase十种值

0 , 0.0 , 0j , Flase , ‘‘ , [] , () , set() , {} , None 

"""

 三.二级容器

就是容器类型里面套类型

例:

lst = [1,2,3,[4,5]]

tup = (1,2,3,(4,5,7))

setvar = {"刘昊然 ","夕雾","丫丫",("嘻嘻","哈哈")}

dic = {"lhr":爱豆,"xw":可爱,"yy":{"a":1,"b":2}}

等长的二级容器:

里面的元素都是容器,并且容器里面的元素个数相同

lst = [(1,2,3),(4,5,6)]

lst = [(1,2),(4,5)]

dict 强制转换成字典

"""强转成字典时,必须是等长的二级容器,里面的元素个数是2个"""

三.变量的缓存机制

机制:只有两个值相同,就开辟一个空间

对于整型int来讲: -5~正无穷范围内相同值 id一致

对于float浮点型来说:非负数范围内相同值 id一致

对于bool类型来说:相同情况下,id一致

对于complex复数类型来说: 实数+虚数 这样的结构下id永不相同 (只有虚数的情况下例外,eg:res = 5j)

对于字符串和空元组来说:相同情况下,id一致

对于列表,元组,集合和字典来说:任何情况下,id标识都不相同(空元组除外)

 

 

 

 

 

 

 

END

 

以上是关于python---类型转换&二级容器&缓存机制的主要内容,如果未能解决你的问题,请参考以下文章

二级指针

InvalidCastException:无法使用Unity(C#)从源类型转换为目标类型

Python3数据类型转换&注释

python开发基础:生成式&成员运算&解压法&队列堆栈&数据类型转换

oracle常用& to_date()怎么转换带am pm的时间格式

python二级练习和考试复习(压缩&&间隔数&&链式比较)