Python的各种转换
强制类型转换 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)
等长的二级容器
里面的元素是容器,并且容器里面的元素个数相同就是等长的二级容器
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的各种转换相关推荐
- 使用Python,OpenCV转换颜色空间,追踪对象的轨迹
使用Python,OpenCV转换颜色空间,追踪对象的轨迹 1. 效果图 2. 源码 参考 这篇博客可以看作是之前俩篇博客的融合,将介绍如何使用Python,OpenCV转换颜色空间,并利用HSV追踪 ...
- 基于Python实现图画转换字符画
微信改版,加星标不迷路! 基于Python实现图画转换字符画 作者:阿广 概述 前言 准备工作 识别原理 静态图像处理 动态图像处理 结果 阿广说 群聊交流 福利一刻 推荐阅读 前言 前几天写了基于P ...
- python image 转成字节_(推荐)谈谈Python生态圈图像格式转换问题:含实例解析
今天为大家带来的内容是:(推荐)谈谈Python生态圈图像格式转换问题:含实例解析 天气冷了,码字手都不利索了!先哈一哈气,各位也要多穿衣服注意保暖哈.话不多说,就直接进入主题了. 在Python生态 ...
- scrapy笔记——python的时间转换
1 import datetime 2 GMT_FORMAT = '%M %H %d %m %w' 3 datetime.datetime.utcnow().strftime(GMT_FORMAT) ...
- python实现货币转换
python实现货币转换 人民币和美元间汇率固定为:1美元 = 6.78人民币 用后缀RMB和USD区分美元和人民币 参考答案 n = input() if n[:3] in ['RMB']:u = ...
- python批量将pdf转成word_如何用Python把pdf转换成word
很多时候,我们需要把文件的形式来回转换.那么学了编程的小伙伴,我们该如何用Python把pdf转换成word呢? 一.下载所需要的库 1.pdfminer 安装库命令pip install pdfmi ...
- python实现文件格式转换_python实现快速文件格式批量转换的方法
用python实现文件夹下的成批文件格式转换 我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式 ...
- python实现批量转换文件编码(批转换编码示例)
这篇文章主要介绍了python实现批量转换文件编码示例,指定文件编码.目录或扩展名即可进行转换,大家参考使用吧 # -*- coding:utf-8 -*- __author__ = 'walksky ...
- 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 ...
- python 文件批量转换格式_python实现快速文件格式批量转换的方法
用python实现文件夹下的成批文件格式转换 我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式 ...
最新文章
- 基于r-Kernel的LiteOS操作系统
- 为什么大公司一定要使用微服务?
- Capsule下一代CNN深入探索
- hdu5461(2015沈阳网络赛L题)
- 六十三、Vue中非父子(兄弟)组件间传值,插槽的使用和作用域插槽(非常重要)
- css值变量吗,CSS变量初体验
- Educational Codeforces Round 41(已补D,E)
- vmware下找不到hgfs
- Logtail从入门到精通(四):正则表达式Java日志采集实战
- shell条件判断 if else
- 用Winhex手工定位NTFS文件系统下的文件
- linux中posix共享内存,Linux 共享内存(POSIX)
- 曲面映射的算法理论基础
- 实验十、静态路由和直连路由引入配置
- 定时监控服务端口是否正常 发送邮件
- OnlyOffice 二次开发定制化部署
- 图片翻译文字软件哪个好?图片翻译软件推荐。
- 【航天远景 MapMatrix 精品教程】04 Metashape空三导入MapMatrix
- He initialization
- 微信公众号和同步助手使用