小白日记第四天(数据类型的强制转换,变量的缓存机制)

---- 数据类型的强制转换 ----

包括数字类型( int , float , bool , complex )和容器类型( str , list , tuple , set , dict )

数值类型的强制转换

可以强制转换成 int 类型的有:浮点型 , 布尔型 , 纯数字字符串
可以强制转换成 float 类型的有: 整型 , 布尔型 , 纯数字字符串
可以强制转换成 bool 类型的有: 整型 , 浮点型 , 复数 , 纯数字字符串
可以强制转换成 complex 类型的有: 整型 , 浮点型 , 布尔型 , 纯数字字符串

注: 强转成 bool 类型是 False 的十种情况:
0 , False , o.o , oj , ‘’ , [] , () , set() , {} , None

容器类型的强制转换

可以转换成 str 类型的有: 列表 , 元组 , 集合 , 字典
可以转换成 list类型的有: 字符 , 元组 , 集合 , 字典
可以转换成 tuple类型的有: 字符 , 列表 , 集合 , 字典
可以转换成 set类型的有: 字符, 元组
可以转换成 dict类型的有: 字符 , 列表 , 元组 , 集合

注:
(1) 强制转换的时候依然要遵循不可哈希类型不能嵌套或转化不可哈希类型的原则
(2) 强制转换时,字典只会保存键,舍弃对应的值
(3) 字典的键只能是可哈希的数据,对应的值没用要求
(4) 强制转换时,两者的原则都应该被遵循
(5) 等长二级容器 : 每一个容器元素的个数是一样的,如 listvar = [(1,2,3),(4,5,6)]

---- 变量的缓存机制 ----

缓存机制就是,在一定范围内,相同值的内存地址是一致的

数值类型的缓存

int整型 : -5 ~正无穷
float 浮点型 : 非负数
bool布尔型 : 值相同
complex复数 : 只有虚数部分且相同

容器类型的缓存

str 字符型 : 相同字符
list , tuple , set , dict : 都不一样

---- 运算符 ----

(1)运算符的优先级

Lambda  #运算优先级最低
逻辑运算符: or
逻辑运算符: and
逻辑运算符:not
成员测试: in, not in
同一性测试: is, is not
比较: <,<=,>,>=,!=,==
按位或: |
按位异或: ^
按位与: &
移位: << ,>>
加法与减法: + ,-
乘法、除法与取余: *, / ,%
正负号: +x,-x

(2)逻辑短路

两种情况:

res = False and 布尔值
res = True or 布尔值

(3)or 短路 ( 不考虑and和or的优先级问题 )

True or ...

(4)数据类型的判断

isinstance( 要判断的数据,要判断的类型 )  要么返回真,要么返回假
isinstance( 要判断的数据,(元组,放上各种类型,满足一个条件即为真 ))

注:

#print函数会返回一个None
7  % -3 = -2
-7  %  3 =  2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值