Python 类型转换指南
一、int型
支持转换为 int 类型的,仅有 float、str、bytes,其他类型均不支持。
1.float -> int
会去掉小数点及后面的数值,仅保留整数部分。
2.str -> int
如果字符串中有数字(0-9)和正负号(+/-)以外的字符,就会报错。
3.bytes -> int
如果 bytes 中有数字(0-9)和正负号(+/-)以外的字符,就会报错。
二、float型
支持转换为 float 类型的,仅有 int、str、bytes,其他类型均不支持。
1.int -> float
int 转换为 float 时,会自动给添加一位小数。
2.str -> float
如果字符串含有正负号(+/-)、数字(0-9)和小数点(.)以外的字符,则不支持转换。
3.bytes -> float
如果 bytes 中含有正负号(+/-)、数字(0-9)和小数点(.)以外的字符,则不支持转换。
三、complex型
仅支持 int、float、str 转换成 complex 类型。
1.int-> complex
int 转换 complex 时,会自动添加虚数部分并以0j表示。

2.float -> complex
float 转换 complex 时,会自动添加虚数部分并以0j表示。

3.str -> complex
str 转换 complex 时,如果能转换成 int 或 float,则会转换后再转为 complex。
如果字符串完全符合 complex 表达式规则,也可以转换为 complex 类型值。

四、str型
str() 函数可以将任意对象转换为字符串。
1.int-> str
int 转换 str 会直接完全转换。
2.float -> str
float 转换 str 会去除末位为 0 的小数部分。
3.complex -> str
complex 转换 str,会先将值转化为标准的 complex 表达式,然后再转换为字符串。

4.bytes -> str
bytes 和 str 的转换比较特殊点,在 Python 3.x 中,字符串和字节不再混淆,而是完全不同的数据类型。
转换为可执行的表达式字符串:

str() 函数指定 encoding 参数
或者使用 bytes.decode() 方法
可以作实际数据的转换:

5.list -> str
会先将值格式化为标准的 list 表达式,然后再转换为字符串。

6.tuple -> str
会先将值格式化为标准的 tuple 表达式,然后再转换为字符串。

7.dict -> str
会先将值格式化为标准的 dict 表达式,然后再转换为字符串。

8.set -> str
会先将值格式化为标准的 set 表达式,然后再转换为字符串。

五、bytes型
仅支持 str 转换为 bytes 类型。
六、list型
支持转换为 list 的类型,只能是序列,比如:str、tuple、dict、set等。
1.str -> list

2.bytes -> listbytes
转换列表,会取每个字节的 ASCII 十进制值并组合成列表

3.tuple -> list
tuple 转换为 list 比较简单。

4.dict -> list
字典转换列表,会取键名作为列表的值。

5.set -> list
集合转换列表,会先去重为标准的集合数值,然后再转换。
七、tuple型
与列表一样,支持转换为 tuple 的类型,只能是序列。
1.str -> tuple

2.bytes -> tuple
bytes 转换元组,会取每个字节的 ASCII 十进制值并组合成列表。
3.list -> tuple

4.dict -> tuple

5.set -> tuple

八、set型
1.str -> set
先将字符切割成元组,然后再去重转换为集合。

2.bytes -> set
会取每个字节的 ASCII 十进制值并组合成元组,再去重。
3.list -> set
先对列表去重,再转换。
4.tuple -> set
先对列表去重,再转换。
5.dict -> set
会取字典的键名组合成集合。

Python 类型转换指南的更多相关文章
- python自省指南
深入python中对自省的定义: python的众多强大功能之一,自省,正如你所知道的,python中万物皆对象,自省是指代码可以查看内存中以对象形式存在的其他模块和函数,获取它们的信息,并对它们进行 ...
- Python正则表达式指南(转)
目录 Python正则表达式指南(转) 0.防走丢 1. 正则表达式基础 1.1. 简单介绍 1.2. 数量词的贪婪模式与非贪婪模式 1.3. 反斜杠的困扰 1.4. 匹配模式 2. re模块 2.1 ...
- 4.《python自省指南》学习
前言 前面几篇博客我都是通过python自省来分析代码并试图得出结论.当然,仅仅通过自省能解决的问题有限,但遇到问题还是不自主的去用这个功能,觉得对于认识代码的含义还是有一定帮助的.而这些自省的知 ...
- python风格指南
还在让别人一眼就看出你是一只野生程序猿嘛,快来看看谷歌的python风格指南提升逼格吧! http://zh-google-styleguide.readthedocs.io/en/latest/go ...
- Python库指南
Python库指南 1.time模块 作用:time模块是一个时间模块,与datetime模块它提供的功能是更加接近于操作系统层面. 应用场景:平时用的比较多的时间戳,等时间方面的操作,在爬虫方面经常 ...
- 史上最全的 Python 3 类型转换指南
int 支持转换为 int 类型的,仅有 float.str.bytes,其他类型均不支持. float -> int 会去掉小数点及后面的数值,仅保留整数部分. int(-12.94) # - ...
- python类型转换、数值操作
类型转换 代码 1 函数 描述 2 int(x [,base ]) 将x转换为一个整数 3 long(x [,base ]) ...
- [daily][optimize] 一个小python程序的性能优化 (python类型转换函数引申的性能优化)
前天,20161012,到望京面试.第四个职位,终于进了二面.好么,结果人力安排完了面试时间竟然没有通知我,也没有收到短信邀请.如果没有短信邀请门口的保安大哥是不让我进去大厦的.然后,我在11号接到了 ...
- 转:python类型转换、数值操作
类型转换 1 函数 描述 2 int(x [,base ]) 将x转换为一个整数 3 ...
随机推荐
- php概率
/* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为:array(100,200,300,400), * 开始是从1,1000 这个概率范围内筛选第一个数是否在 ...
- idea新建项目相关名词意义
新建项目中的对比 建完之后的项目对比 对比 新建中Artifact的名称对应maven中名字 新建中package的名字对应的是项目中src下package名字 新建中project name的名字对 ...
- Vulnhub_DC7 记录
基本步骤 经验 & 总结 对信息还是不敏感,其实也是因为对Drupal这个CMS并不熟悉,不知道哪些地方是默认的那些地方是作者修改,比如这个"DC7USER". 对Drup ...
- Redis注意点记录
场景:1主2从 1.不使用哨兵模式,则当主机宕机后,从机并不会自动切换到Master状态,仍旧是Slave,若主机重新恢复,则从机进行自动连接 2.使用哨兵模式后,主机宕机,从机会根据分配的权值在从机 ...
- java 8 list的stream操作 list中的对象中的某一个成员取出转为该成员的list,以及对象过滤,筛选某个属性后的成员
取成员属性list List<String> configList = codeEntityList.stream().map(t -> t.getName()).distinct( ...
- 7-10 多项式A除以B (25分)(多项式除法)
7-10 多项式A除以B (25分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出 ...
- Spring AOP 中 advice 的四种类型 before after throwing advice around
spring AOP(Aspect-oriented programming) 是用于切面编程,简单的来说:AOP相当于一个拦截器,去拦截一些处理,例如:当一个方法执行的时候,Spring 能够拦截 ...
- 通过aptitude降级包解决依赖问题(E:无法修正错误,因为您要求某些软件包保持现状)
Linux下的依赖关系令人头疼,尤其是提示如下错误的时候: 下列软件包有未满足的依赖关系: xxx : 依赖: xxx 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破 ...
- highcharts饼图
效果: JSON加载数据: var chartseries2 = [ { name: '完成' + data.rate + '%', y: data.rate }, { name: '未完成' + d ...
- redis实现哨兵机制
将cd /usr/local/redis/sentinel.conf复制到/usr/local/redis/etc/下 cd /usr/local/redis/ cp sentinel.conf /u ...