类型转换

1,强制类型转换

1.1 number的转换(int,float,bool,complex)

num1 = 10
num2 = 10.6
num3 = True
num4 = 3 + 4j

  

1.1.1 int强制转换成整型

res = int(num1)      #10
res = int(num2) #10
res = int(num3) #1 False =>0
res = int(num4) #error

  

1.1.2 float强制转换成浮点型

res = float(num1)     #10.0
res = float(num2) #10.6
res = float(num3) #1.0 False =>0.0
res = float(num4) #error

  

1.1.3 complex强制转换成复数

res = complex(num1)    #10 + 0j
res = complex(num2) #10.6 + 0j
res = complex(num3) #1 + 0j False =>0j
res = complex(num4) #3 + 4j

  

1.1.4 bool强制转换成布尔值

False:0,0.0,0j,False,"",[],(),set(),{},None

  

1.1.5 总结

res = int()           #默认创建该数据类型的默认值

  

1.2容器类型的转换(str,list,tuplr,set,dict)

strvar = '我爱中国'
listvar = [0,'name',]
tuplevar = (0.0,'我爱python',[1,5+3j,],)
setvar = {0,1,2,3,4,5,5,}
dictvar = {"name":"bajie","age":18,}

  

1.2.1 str (number/container)通吃

res = str(listvar)
#将原类型最外层加"listvar"
print(res1,tpye(res1))
#repr 原型化输出字符串
prinr(repr(res1))

  

1.2.2list强制转换成列表

'''
str:将每一个字符单独作为一个元素放到列表
dice:将字典的键作为一个元素放到列表
其他容器:替换例如(1,) -> [1,]
'''

  

1.2.3tuple强制转换成元组

'''
str:将每一个字符单独作为一个元素放到元组
dice:将字典的键作为一个元素放到元组
其他容器:替换例如[1,] -> (1,)
'''

  

1.2.4set强制转换成集合(无序,去重)

'''
str:将每一个字符单独作为一个元素放到集合
dice:将字典的键作为一个元素放到集合
其他容器:替换例如[1,2,] -> {2,1,}
'''

  

1.2.5dict强制转换成字典

1.2.5.1二级容器(list,tuple,set,dict)
# 二级容器
listvar = [1,[2,]]
setvar = {'name',(1,2,)}
dictvar = {True:"中国",{"nums":[1,2,3,4,5,6],}}
# 四级容器
lisvar = [1,[2,3,["name",[True,]]]]

  

1.2.5.2dici强制转换等长的二级容器

# 等长(内容器不推荐集合,键值不确定)and TWO元素
datalist = [[1,2],["name","bajie"]]
dataset = {(1,2),{"name","bajie"}}

res = dict(datalist) # {1: 2, 'name': 'bajie'}
res = dict(dataset) # {1: 2, 'bajie':'name'}

# 奇葩写法
datastr = [[a,1],"b2"] # {'a': 1, 'b': '2'}

  

2 自动类型转换

'''
精度从低到高进行转换 :bool - int - float - complex
'''
res1 = True + 1 # 2
res2 = True + 2j # 1 + 2j
res3 = 1 + (2 + 2j) # 1 + 2j
res4 = 0.2 + 2j # 0.2 + 2j
res5 = False + 1 + 2.5 + 2j # 3.5 + 2j

  

3变量的缓存机制(针对python3.6前)

3.1 number部分

(同一文件,模块)
#1 整型 (-5 ~ 正无穷 <小数据池:id地址相同>)
#2 浮点型(非负数)
#3 bool值相同
#4 复数类型(只有虚数部分)
(不同文件,模块)
#1 整型 (-5 ~ 256 <小数据池:id地址相同>)

  

3.2容器部分

#1  strvar = "相同字符串"
#2 空元组

  

最新文章

  1. Source Insight 3.X 标签插件v1.0发布
  2. wlan-mcs来自百度百科
  3. WPF学习之路(十二)控件(Content控件)
  4. Oracle Redhat5.5
  5. 【实践】jquery实现滑动动画及轮播
  6. Flink - FlinkKafkaConsumer08
  7. [转]clrDateTime to Dynamics AX TransDate
  8. centos 端口开放及关闭
  9. Java RMI之介绍
  10. Android(java)学习笔记179:BroadcastReceiver之 有序广播和无序广播(BroadcastReceiver优先级)
  11. unicode随笔小计
  12. Golang http包下FileServer的使用
  13. LeetCode_Combination Sum
  14. getline(cin,s) bug workaround
  15. spring boot 登录注册 demo (四) -- 体验小结
  16. 关于Tomcat的URIEncoding以及GET乱码
  17. 实验吧MD5之守株待兔解题思路
  18. mongodb系列~ mongodb慢语句(1)
  19. POJ3070 斐波那契数列 矩阵快速幂
  20. HTTP协议(1)

热门文章

  1. Python中的队列
  2. EduSoho二次开发功能:单词本使用说明
  3. Redis源码阅读一:简单动态字符串SDS
  4. 多语言工作者の十日冲刺&lt;3/10&gt;
  5. .NETCore微服务探寻(三) - 分布式日志
  6. oracle自定义split分割函数
  7. android java层通过jni加载使用第三方的so库
  8. 入门大数据---Elasticsearch搭建与应用
  9. No configuration file found and no output filename configured via Cli option.报错
  10. vue基础入门(3)