强制类型转换 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. Java 基础学习(Markdown语法)
  2. LeetCode 1490. 克隆 N 叉树(DFS/BFS)
  3. 卸载源码安装mysql_CentOS7下源码安装MySQL5.7.6+
  4. mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...
  5. 西北农林科技大学计算机老师 癌症,西北农林科大攻克苹果树“癌症”
  6. 王琪你计算机学院,计算机学院“计忆时光”2019元旦联欢会暨年度颁奖典礼圆满举行...
  7. 周期三角波频谱图_雷达物位计厂家告诉你,什么是调频连续波雷达物位计
  8. 小米10pro使用说明书_30W有线无线快充,小米的这款立式无线充电宝表现不错
  9. python读取目录里所有txt文件转excel
  10. 123.买卖股票的最佳时机III
  11. oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解
  12. 【动态规划】入门练习题浅总
  13. 2021年中国皮革行业现状分析:销售收入同比增长8.4%[图]
  14. 数据库实验 嵌套查询和连接查询
  15. Android AVD创建及设置中各参数详解
  16. java ssm班费收支信息管理系统
  17. C++ Builder XE2 / RAD Studio XE2软件的下载安装及RTKLIB工程打开和编译
  18. 总结了大佬的学习方法 #CSDN博文精选# #学习方法# #高效系统化学习#
  19. Spring5--JdbcTemplate
  20. 5G物联网智能家居实战课程 第一章

热门文章

  1. 谷歌浏览器显示菜单栏
  2. 华硕主板固态硬盘不识别_华硕b360主板bios不识别m.2固态怎么办?
  3. 普林斯顿计算机科学怎么样,普林斯顿大学计算机科学世界排名2019年最新排名第8(THE世界排名)...
  4. springBoot整合spring security+JWT实现单点登录与权限管理前后端分离--筑基中期
  5. NewStarCTF 公开赛赛道 第二周学习记录
  6. Git实战(五)| 让工作更高效,Git的分支管理
  7. 现在开始 -- Steve Pavlina
  8. 乐视网今日开市起停牌 深交所将作出是否暂停上市的决定
  9. rabbitmq关于delivery_tag
  10. addEvent函数