使用python处理数据时,不可避免的要进行数据类型之间的转换,诸如整型和字符串之间的转换。

转换有隐式和显式转换,隐式也称自动转换,不用做特殊。显示转换,也称为数据类型的强制类型转换,通过内置函数实现。

7.1 转为整型

通过内置函数int(x [,base]),可把x值转为整数。其中base是进制,默认是10进制。

# 浮点数转为整型,截断小数点f = 99.5to = int(f)print(to)# 布尔转为整型b = Trueto = int(b)print(to)# 字符串转为整型s = "520"to = int(s)print(to)# 转为16进制print(int(s, base=16))

转换是不是都会成功?--不一定,像字符串内容,比如“酷”,就没办法转成整数。有时候扮酷,是需要付出代价的。

# 非数字内容s = "酷"# 转换为整数,报错to = int(s)print(to)

既然有异常,那得处理。可在转换前,通过isdigit()函数判断字符串内容是否全是数字,是才转换,不是的话,做其他处理。这里提前剧透条件语句。

# 非数字内容s = "酷"if s.isdigit(): to = int(s) print(to)else: print("做其他处理。")

7.2 转为浮点型

通过float(x),把x值转为浮点型。

# 整型转为浮点数i = 99to = float(i)print(to)# 字符串转为浮点数s = "520.00"to = float(s)print(to)

字符串转为浮点数的过程中,也存在不成功的情况。可惜Python没有直接的函数,可以判断是否为浮点数,得通过数据类型进行判断。获取类型的函数,之前已知悉,用type(),判断是否某种类型,使用 is。 判断字符串是否是浮点数,语法是: if type(eval(str)) is float: 。其中eval取得字符串串表达式内容。

# 字符串内容s = "13.14"if type(eval(s)) is float: f = float(s) print(f)else: print("其他处理。")

7.3 转为布尔型

在Python里,整型、浮点型、字符串都可以转为布尔类型。除了0为False,其他的全为True。其中字符串记得用eval()取得表达式,否则"0"返回的是True。因为“0”不是0。

# 整型转为布尔i = 0to = bool(i)print(to)# 浮点数转为布尔f = 99.2to = bool(f)print(to)# 字符串转为布尔s = "0"to = bool(eval(s))print(to)

7.4 转为字符串

通过str(x)函数把x内容,转为字符串,x是指定对象,包括整型、浮点数、数组等等。

# 整型转为字符串i = 102to = str(i)print(to)# 浮点数转为字符串f = 36.6to = str(f)print(to)# 布尔转为字符串b = 0to = str(b)print(to)# 数组转为字符串array = ["101

bool类型_Python3.7知其然知其所以然-第七章 类型转换相关推荐

  1. 知行合一:知其然知其所以然

    知行合一:知其然知其所以然. 一个事情做成了,并不意味着你知道做成这件事背后蕴藏的原理. 只有使用冥思.事上练的方法了,将背后的原理提取出来,才能说做到了执行合一. 这个过程是行对知的精进过程. 转载 ...

  2. 锁,知其然知其所以然

    ​ Taken by iCola 今天,从一个小问题聊起. 假设你账户上原来有100元钱,你用微信支付100元,与此同时你女票用支付宝给你转100元零花钱,你帐户的余额有没有可能变成200元或者0元? ...

  3. 算出当前系统后某个月的日期_Python3.7知其然知其所以然-第十八章 日期函数

    时光不可追,往事不可回.以往创建的数据,如若没有日期做标识,不堪回首.几乎任何一个产品都会用到日期,如登录日期.创建日期.修改日期等.正因如此,编程语言中,几乎都有内置日期函数. 18.1 当前日期 ...

  4. 字符串去掉两端的引号_Python3.7知其然知其所以然-第六章 字符串

    在开发过程中,经常会用到字符串来存储字符内容.在其他编程语言中用成对双引号" "声明字符串,用成对单引号' '声明单个字符,而Python没有这种区别,它无论单个或多个字符都用字符 ...

  5. redis zset转set 反序列化失败_关于Redis中的五种数据结构,要知其然知其所以然...

    Redis作为Nosql的代表,想必大家已经再熟悉不过了,除了作为缓存来使用,Redis还提供了其他很多有用的功能,例如可作为消息队列.分布式锁.不隆过滤器.限流等功能使用.今天先来说一说redis作 ...

  6. bootstraptable获取所有数据_关于Redis中的五种数据结构,要知其然知其所以然

    Redis作为Nosql的代表,想必大家已经再熟悉不过了,除了作为缓存来使用,Redis还提供了其他很多有用的功能,例如可作为消息队列.分布式锁.不隆过滤器.限流等功能使用.今天先来说一说redis作 ...

  7. Vue2.0源码解析 - 知其然知其所以然之Vue.use

    前言 小伙伴们大家好.用过Vue的小伙伴都知道,在我们进行Vue开发时,避免不了会使用一些第三方的库,比如说ElementUI组件库.当我们导入好这些组件库后会执行一个Vue.use函数,然后把导进来 ...

  8. Pandas数据处理误区要知其然知其所以然

    背景 在Python里面处理数据,必然离不开Pandas,但目前网上的文章大部分都是介绍函数怎么使用,至于为什么有时数据处理结果是错误的,并没有深入研究,也可能是由于Pandas的一些BUG,没有人提 ...

  9. Android转换位图BUG,知其然不知其所以然

    在开发某App的时候,发现了一个很奇怪的bug,前面我也发了关于bitmap的总结,但是这个问题恰恰出在BitmapFactory.decodeFile(pathName)这个函数上,使用这个函数在我 ...

最新文章

  1. 假定某计算机的cpu,假定某计算机字长16位,CPU内部结构如图5.1所示,CPU和存储器之间采用同步方式通信,按字编址。采_搜题易...
  2. SHOI2016 黑暗前的幻想乡
  3. 织梦联动类别-地区调用不显示第三级城市的解决方法
  4. Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)
  5. 同步锁 php,python线程中同步锁详解
  6. Springboot 后台管理框架halo.kotlin
  7. Python标准库datetime中4种基本对象的用法
  8. CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
  9. 【路径规划】基于matlab RBF优化Qlearning算法机器人避障路径规划【含Matlab源码 1219期】
  10. PIC温控器c语言程序,PIC CCS C语言程序范例.doc
  11. python 官方 中文 文档
  12. 计算机网络第七版笔记--第一章
  13. [游戏程序] 经典游戏服务器端架构概述
  14. java省略号_在Java中使用省略号(…)
  15. oracle 数据库锁 lock mode 的几种类型
  16. [20190328]PPT中的png图片去底色(透明化)
  17. 世界上第一台电子数字式计算机诞生于美国,世界上公认的第一台电子数字计算机诞生于哪年哪个国家?...
  18. STM32F103C8T6基础开发教程(HAL库)—Keil添加注释的快捷键
  19. mysql的触发器实验报告_数据库实验7触发器实验报告
  20. [统计学笔记](五)统计量及其抽样分布

热门文章

  1. 亚马逊Listing调整得好叫优化,调整不好叫破坏!
  2. BGP双栈原理Basic
  3. java vector实现的接口_java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析...
  4. Redis命令详解:Streams
  5. 丁威: 优秀程序员必备技能之如何高效阅读源码(二更)
  6. 2022-2-23 王爽《汇编语言》实验二
  7. 分享住宿“大混战”:Airbnb、途家、携程、美团、Priceline,这些旅行巨头都来了
  8. Metasploit数据库连接及其简单应用
  9. HP430服务器安装Centos7系统
  10. 渗透攻击之社会工程学攻击