秃顶之路-Day3

Day 3

一.强制类型转换 Number (int float bool complex)
var1 = 13
var2 = 13.789
var3 = True
var4 = 5-7j
var5 = “9988”
var6 = “abcd4567”
(1) int 强制转换成整型
res = int(var2) # 13
res = int(var3) # False => 0 True => 1
res = int(var4) error
res = int(var5) # 9988
res = int(var6) error
print(res , type(res))
(2) float 强制转换成浮点型
res = float(var1) # 13.0
res = float(var3) # True => 1.0 False => 0.0
res = float(var5) # 9988.0
print(res , type(res))
(3) complex 强制转换成复数
res = complex(var1) # 13 + 0j
res = complex(var2) # 13.789 + 0j
res = complex(var3) # False => 0j True => 1+0j
res = complex(var5) # 9988 + 0j
res = complex(var6) error
print(res , type(res))
(4) bool 强制转换成布尔型
bool类型为假的十种情况
0 , 0.0 , False , 0j , ‘’,[],(),set(),{},None
res = bool(None)
print(res , type(res))
None 是python的关键字,代表空的,什么也没有,一般用来做初始化操作
二.自动类型转换 Number( int float bool complex)
精度从低向高进行转换 : bool -> int -> float -> complex
自动类型转换,默认从低精度向高精度进行转换(从低到高)
三.容器类型的强制转换 (str list tuple set dict)
(1) str (容器 / Number 都可以转换)
强转成字符串,无非就是在原有的数据的基础上两边套上引号
(repr 可以原型化输出字符串,不转义字符(显示出引号))
(2) list : 强制转换成列表
如果是字符串,会把每一个字符单独的作为一个元素放到列表中
如果是字典,只保留键,形成一套新的列表
如果是其他的容器,只是单纯的在原有数据的基础上换上[]
(3) tuple : 强制转换成元组
如果是字符串,会把每一个字符单独的作为一个元素放到元组中
如果是字典,只保留键,形成一套新的元组
如果是其他的容器,只是单纯的在原有数据的基础上换上()
(4) set : 强制转换成集合
如果是字符串,会把每一个字符单独的作为一个元素放到集合中(无序,自动去重)
如果是字典,只保留键,形成一套新的集合
如果是其他的容器,只是单纯的在原有数据的基础上换上{}
(5) dict 强制转换成字典
强转成字典时 , 必须是等长的二级容器,里面的元素个数是2个
三.变量的缓存机制 (仅对python3.6版本负责)
机制: 只有两个值相同,就只开辟一个空间
(1) Number 部分
1.对于整型而言,-5~正无穷范围内的相同值 id一致
2.对于浮点数而言,非负数范围内的相同值 id一致
3.布尔值而言,值相同情况下,id一致
4.复数在 实数+虚数 这样的结构中永不相同(只有虚数的情况例外)
(2) 容器类型部分
5.字符串 和 空元组 相同的情况下,地址相同
6.列表,元组,字典,集合无论什么情况 id标识都不同 [空元组例外]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值