强制类型转换 Number (int float complex bool)

  • var1 = 100
    var2 = 3.9
    var3 = True
    var4 = 4-90j
    var5 = "123"
    var6 = "123abc"
    
  • int 强制转换为整型

    可以转:int float bool 纯数字字符串
    res = int(var2)     # 3
    res = int(var3)     # True => 1 False => 0
    res = int(var4)     # error 复数不能转换为整形
    res = int(var5)     # 123
    res = int(var6)     # error  不是纯数字
    print(res , type(res))
    
  • float 强制转换为浮点型

    可以转: int float bool 纯数字字符串
    res = float(var1)      # 100.0
    res = float(var3)      # False => 0.0 True => 1.0
    res = float(var4)      # error
    res = float(var5)      # 123.0
    print(res , type(res))
    
  • complex 强制转换为复数

    可以转: int float bool 纯数字字符串 complex
    res = complex(var1)    # (100+0j)
    res = complex(var2)     # (3.9+0j)
    res = complex(var3)    # False => 0j True => 1+0j
    res = complex(var5)    # 123+0j
    print(res , type(res))
    
  • bool 强制转换为布尔型

    可以转: bool类型可以转换一切数据
    res = bool(var6) # True
    res = bool(var4) # True
    
  • 布尔类型为假的十种情况 (重中之重)

    """ 0 , 0.0 , 0j , False , '' , [] , (),{},set() , None """
    res = bool(0)
    res = bool(0.0)
    res = bool(False)
    res = bool(0j)
    res = bool('')
    res = bool([])
    res = bool(())
    res = bool({})
    res = bool(set())
    res = bool(None)
    print(res)
    
  • None 代表空的,什么也没有,一般用作变量的初始化

    a = None
    b = None
    

自动类型转换Number

  • 精度上从小到大的顺序:bool => int => float => complex

  • 默认在系统自动转换的时候,低精度向高精度转换.

  • bool + int
    res = True + 15   # 1 + 15 => 16bool + float
    res = True + 3.8  # 1.0 + 3.8 = 4.8bool + complex
    res = True + 3-90j  # 1+0j + 3-90j => 4-90jint + float
    res = 4 + 4.1         # 4.0+4.1 = 8.1int + complex
    res = 5 + 4-90j   # 9-90jfloat + complex
    res = 4.3 + 5 - 3j  #4.3+5.0-3j = 9.3-3j
    

容器类型的强制转换

  • str list tuple set dict bool , str 可以转换所有的数据类型

var1 = "李文汇"
var2 = ["张永建","徐汇","张士宇"]
var3 = ("张永建","徐汇","张士宇")
var4 = {"张永建","徐汇","张士宇"}
var5 = {"风流倜傥,英俊潇洒,放荡不羁":"张永建","水性杨花":"徐汇","正义凛然,方方正正":"张士宇"}
var6 = 12345
  • 强制转换成 str

    可以转换所有的数据类型,就是单纯在原数据类型的两边套上引号就是字符串
    res = str(var6)
    res = str(var5)# repr => 元字符串 r"e:sdf\sdf" 不转移,原型化输出,显示引号res = repr(res)
    print(res , type(res))
    
  • 强制转换成 list

    如果是字符串,把字符串中的每个元素拿出来,作为列表的新元素
    如果是字典,保留所有字典的键
    如果是其他数据,就是单纯的在原数据类型的两边换上中括号[]
    lst = list(var1)       # ['李', '文', '汇']
    lst = list(var3)       # ['张永建', '徐汇', '张士宇']
    lst = list(var5)       # ['风流倜傥,英俊潇洒,放荡不羁', '水性杨花', '正义凛然,方方正正']
    print(lst , type(lst))
    
  • 强制转换成 set

    如果是字符串,把字符串中的每个元素拿出来,作为集合的新元素  [无序,自动去重]
    如果是字典,保留所有字典的键
    如果是其他数据,就是单纯的在原数据类型的两边换上花括号{}
    setvar = set(var1)
    setvar = set(var2)
    setvar = set(var5)
    print(setvar , type(setvar))
    
  • 强制转换成 tuple

    如果是字符串,把字符串中的每个元素拿出来,作为元组的新元素
    如果是字典,保留所有字典的键
    如果是其他数据,就是单纯的在原数据类型的两边换上圆括号()
    tup = tuple(var5)      # ('风流倜傥,英俊潇洒,放荡不羁', '水性杨花', '正义凛然,方方正正')
    print(tup , type(tup))
    
  • 括号里面不写数据,默认返回一个假值;

    float complex() bool() str() list() tuple() set() dict()
    res = dict()
    print(res)
    

转换成字典

  • 二级容器 列表 元组 集合 字典

    二级列表
    listvar = [1,2,3,[4,5,6]]二级元组
    tuplevar = (1,2,3,(4,5))二级集合
    setvar = {'a','b',(1,23)}二级字典
    dictvar = {  "a":1,"b":{"c":3}  }
    
  • 四级容器
    container = [1,2,3,4,(5,6,7,8,{"a":1,"b":2,"c":[1,2,"bingo"]})]
    

    如何获取bingo字符串

    res = container[-1]
    print(res)     # (5, 6, 7, 8, {'a': 1, 'b': 2, 'c': [1, 2, 'bingo']})res2 = res[-1]
    print(res2)    # {'a': 1, 'b': 2, 'c': [1, 2, 'bingo']}res3 = res2["c"]
    print(res3)    # [1, 2, 'bingo']res4 = res3[-1]
    print(res4)    # ['bingo']简化代码
    res = container[-1][-1]["c"][-1]
    print(res)
    
  • 等长的二级容器

    里面的元素是容器,并且容器里面的元素个数相同就是等长的二级容器

    container = [(1,4,43),[11,7,10]]

  • dict 强转:需要等长的二级容器,并且容器里面的元素个数得是2个

    外层是列表,内层是 列表/元组
    container = [["a",1] , ("b",2)]外层是元组,内层是列表/元组
    container = (["c",1],("d",4))外层是集合,内层是元组
    container = {("f",10),('e',20)}
    dictvar = dict(container)
    print(dictvar , type(dictvar))  # {'e': 20, 'f': 10}在里面放元组,什么情况都好使例外情况 (不推荐)
    集合无序,导致不符合原意(不推荐)
    container = [{"a",1},{"b",2}]
    dic = dict(container)
    print(dic , type(dic))字符串的长度必须是2位,有极大局限性(不推荐)
    container = (["a",1],"c3")
    # container = (["a",1],"c333") error
    dic = dict(container)
    print(dic , type(dic))
    

Python的各种转换相关推荐

  1. 使用Python,OpenCV转换颜色空间,追踪对象的轨迹

    使用Python,OpenCV转换颜色空间,追踪对象的轨迹 1. 效果图 2. 源码 参考 这篇博客可以看作是之前俩篇博客的融合,将介绍如何使用Python,OpenCV转换颜色空间,并利用HSV追踪 ...

  2. 基于Python实现图画转换字符画

    微信改版,加星标不迷路! 基于Python实现图画转换字符画 作者:阿广 概述 前言 准备工作 识别原理 静态图像处理 动态图像处理 结果 阿广说 群聊交流 福利一刻 推荐阅读 前言 前几天写了基于P ...

  3. python image 转成字节_(推荐)谈谈Python生态圈图像格式转换问题:含实例解析

    今天为大家带来的内容是:(推荐)谈谈Python生态圈图像格式转换问题:含实例解析 天气冷了,码字手都不利索了!先哈一哈气,各位也要多穿衣服注意保暖哈.话不多说,就直接进入主题了. 在Python生态 ...

  4. scrapy笔记——python的时间转换

    1 import datetime 2 GMT_FORMAT = '%M %H %d %m %w' 3 datetime.datetime.utcnow().strftime(GMT_FORMAT) ...

  5. python实现货币转换

    python实现货币转换 人民币和美元间汇率固定为:1美元 = 6.78人民币 用后缀RMB和USD区分美元和人民币 参考答案 n = input() if n[:3] in ['RMB']:u = ...

  6. python批量将pdf转成word_如何用Python把pdf转换成word

    很多时候,我们需要把文件的形式来回转换.那么学了编程的小伙伴,我们该如何用Python把pdf转换成word呢? 一.下载所需要的库 1.pdfminer 安装库命令pip install pdfmi ...

  7. python实现文件格式转换_python实现快速文件格式批量转换的方法

    用python实现文件夹下的成批文件格式转换 我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式 ...

  8. python实现批量转换文件编码(批转换编码示例)

    这篇文章主要介绍了python实现批量转换文件编码示例,指定文件编码.目录或扩展名即可进行转换,大家参考使用吧 # -*- coding:utf-8 -*- __author__ = 'walksky ...

  9. python中将数字转换成二进制数

    python中将数字转换成二进制数 256 128 64 32 16 8 4 2 1 1 0 1 0 1 0 1 1 0 这是快速得到342的方法 在python3.6中快速得到342的方法是使用bi ...

  10. python 文件批量转换格式_python实现快速文件格式批量转换的方法

    用python实现文件夹下的成批文件格式转换 我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式 ...

最新文章

  1. 基于r-Kernel的LiteOS操作系统
  2. 为什么大公司一定要使用微服务?
  3. Capsule下一代CNN深入探索
  4. hdu5461(2015沈阳网络赛L题)
  5. 六十三、Vue中非父子(兄弟)组件间传值,插槽的使用和作用域插槽(非常重要)
  6. css值变量吗,CSS变量初体验
  7. Educational Codeforces Round 41(已补D,E)
  8. vmware下找不到hgfs
  9. Logtail从入门到精通(四):正则表达式Java日志采集实战
  10. shell条件判断 if else
  11. 用Winhex手工定位NTFS文件系统下的文件
  12. linux中posix共享内存,Linux 共享内存(POSIX)
  13. 曲面映射的算法理论基础
  14. 实验十、静态路由和直连路由引入配置
  15. 定时监控服务端口是否正常 发送邮件
  16. OnlyOffice 二次开发定制化部署
  17. 图片翻译文字软件哪个好?图片翻译软件推荐。
  18. 【航天远景 MapMatrix 精品教程】04 Metashape空三导入MapMatrix
  19. He initialization
  20. 微信公众号和同步助手使用

热门文章

  1. 卷毛-网络编程基础(二)什么是socket
  2. stm32中用到的实时系统_基于STM32平台的实时操作系统
  3. 新坑--阿里云图库引入
  4. 1-医疗挂号系统_【项目介绍与Mybatis Plus】
  5. python爬虫 关于加速乐(_jsl)
  6. html5 jquery 效果,精挑整理 8款HTML5/jQuery应用,高端大气上档次特效
  7. C++鲜为人知的符号
  8. 介绍1---什么是3D
  9. 基于CentOS 7配置Nginx反向代理
  10. 量子模拟:棋子与量子