Python 极简教程(三)数据类型
每种语言都有各种数据类型。这就像在现实生活中,我们计数的时候需要用到数字,在表述金额、重量、距离等需要精确计数时用到小数,在日常交谈中要用文字,等等。在计算机语言中,为了表述不同的情况,也需要用到各种数据类型。
在 Python 主要有数值类型(int, float),字符串类型,布尔型和空值。
整型 int
Python 中整型来表示整数,正数或者负数,没有小数点。10 和 10.0 是两种数据类型。
浮点数 float
浮点数也就是我们常见的带小数点的数字。之所以叫浮点数,是因为小数点的位置不固定,也就是浮动的。
比如 10.01 可以写为 1.001 * 10^1,也可以写为 0.1001 * 10^2。
字符串 str
字符串是最常用的数据类型之一,用引号包裹起来的就是字符串。在 Python 中,引号可以是双引号,也可以是单引号。但是不能混用。
同时也可以使用三对引号(单双都可以)来标记多行字符串。
>>> char = 'nemo' # 单引号
>>> char2 = "python" # 双引号
>>> char3 = 'python" # 单双引号混用,语法错误
>>> char4 = 'this 's a pig' # 语法错误,可以将外面的引号替换为双引号,或者使用转义符
>>> char5 = 'this \'s a pig'
Python 中还有很多关于字符串的操作,将在后续教程中详细讲解。
布尔型 bool
布尔型,只有两个值,就是我们通常说的真与假,错与对,是和否。
在计算机语言中,通常使用布尔值来表示条件是否成立,条件成立则为 True,不成立则为 False。
>>> 3 > 1
True
>>> 0 < 5
False
>>> 5 == '5'
False
空值 None
空值 None 是 Python 中的一种特殊数据类型,严格意义上来说也不算是一种数据类型。空值用来表示什么都没有,空字符串不是空,空的字符串也是字符串,而空值什么都不是。在其他语言或数据库中用 null 表示。
常见于函数中,当函数没有定义返回值的时候,默认返回的就是 None。
判断数据类型的常用函数
在 Python 中,用于判断数据类型的函数主要有两种,type()
和 isinstance()
。
type()
函数用于查看数据的类型:
>>> type(5)
<class 'int'>
>>> type(5.0)
<class 'float'>
>>> type('5')
<class 'str'>
isinstance()
用于判断数据的类型,符合返回True
,不符合返回False
:
>>> isinstance(5, int) # isinstance 需要两个参数,第一个是值,第二个是类型
True
>>> isinstance('5', int)
False
>>> isinstance('5', str)
True
>>> isinstance(True, int)
True
>>> isinstance(True, bool)
True
这里有个现象 isinstance(True, int)
也是符合的,我们上面说过 True
是布尔型,怎么int
型也是符合的呢?
其实布尔型是int
的一种,值只有 0 和 1 罢了。
>>> True == 1
True
>>> False == 0
True
数据类型转换
不同的数据类型是可以互相转换的。如果要转为整数类型,可以使用int()
函数,如果转为浮点型,可以使用float()
函数, 如果转为字符串类型,可以使用str()
函数。
目标类型 | 函数 |
---|---|
int | int() |
str | str() |
float | folat() |
>>> int('15')
15
>>> int('15a') # 报错,字符串转 int ,必须全部是十进制的数字
ValueError: invalid literal for int() with base 10: '15a'
>>> int('1.1') # 报错,看似浮点数也不行,但是这个可以用 float 转为浮点数
ValueError: invalid literal for int() with base 10: '1.1'
>>> float('1.1')
1.1
>>> float('11')
11.0
>>> str(100)
'100'
其余转换情况可自行尝试。
在 Python 中,任意的数据类型,都是对象!当然,还不止于此,在 Python 中所见皆对象。不过这句话现在不需要理解,先记住就好。
本结思考
5 == 5.0,结果是什么?为什么?
5 is 5.0,结果是什么?为什么?
Python 极简教程(三)数据类型的更多相关文章
- Python 极简教程(八)字符串 str
由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程 ...
- python极简教程04:进程和线程
测试奇谭,BUG不见. 大家好,我是谭叔. 这一场,主讲python的进程和线程. 目的:掌握初学必须的进程和线程知识. 进程和线程的区别和联系 终于开始加深难度,来到进程和线程的知识点~ 单就这两个 ...
- python极简教程01:基础变量
测试奇谭,BUG不见. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的教程,他们同大多数自学编程语言的人一样,无外乎遇到以下这些问题: 网络上的资料过多且良莠不全,不知道如 ...
- Python 极简教程(一)前言
现在 Python 用处很多,学的人也很多,其流行程度自不必说.但是很多人学 Python 的时候都遇到过问题,特别对于非计算机专业毕业的人来说. 现在的教程非常多,但是绝大部分对于初学者都不够友好. ...
- Python 极简教程(十)集合 set
什么是集合? 集合(set)是一种可变,无序和不重复的序列. 集合是python的序列之一,集合没有列表(list).元组(tuple)和字典(ditc)常见.但是有时候也有奇效. 我们先来看个集合的 ...
- python极简教程07:封装、多态和继承
测试奇谭,BUG不见. 这一场主讲python的面向对象部分--封装.多态和继承. 目的:掌握Python面向对象的三个核心概念. 封装 01 什么是封装? 封装的目的是,保护隐私.通俗的讲:不想让别 ...
- python极简教程08:对象的方法
测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...
- Python 极简教程(十二)逻辑控制语句 if else
计算机软件之所以能够对不同的情况进行不同的处理,就是我们在编码的时候,通过逻辑控制语句,告诉软件在不同的情况下应该做什么处理. 比如我们在登录的时候,那么当你输入正确的账号密码和错误的账号密码,完全是 ...
- Python 极简教程(十一)字典 dict
字典是以大括号标识,以键值对(key:value)的形式,无序,不可重复,可变的集合类型. 字典具有非常高效的读写效率. >>> d = {} # 创建一个空字典 >>& ...
随机推荐
- CSUOJ 1531 Jewelry Exhibition
Problem G Jewelry Exhibition To guard the art jewelry exhibition at night, the security agency has d ...
- Linux系统消息队列框架Kafka单机安装配置
http://www.ithao123.cn/content-11128587.html
- C++对象模型——Inline Functions(第四章)
4.5 Inline Functions 以下是Point class 的一个加法运算符的可能实现内容: class Point { friend Point operator+(const Poin ...
- 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片
[问题] 关于iOS/iPhone中的文件选择对话框,用于用户去选择图片等文件 过程中,问题转换为,需要给当前iOS项目中,添加一个图片. 类似于Windows开发中的资源文件,其中图片文件属于资源的 ...
- Kinect 开发 —— 图片浏览
总体思路 首先运用WPF编写一个简单的支持多点触控的图片浏览程序,这方面您可以参看MSDN上的这篇文章,上面有代码,可能需要FQ才能下载.中文的话,您可以参考Gnie同学关于在WPF上面多点触屏(Mu ...
- split---将文件分割成多个小文件
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等. 选项 -b:值为每一输出档案的大小,单位为 byte. -C:每一输出档中,单行的最大 ...
- tracepath---追踪并显示报文到达目的主机所经过的路由信息。
tracepath命令用来追踪并显示报文到达目的主机所经过的路由信息. 语法 tracepath(参数) 参数 目的主机:指定追踪路由信息的目的主机: 端口:指定使用的UDP端口号.
- 清除celery 任务队列
celery 有密码的时候 清除任务 redis-cli -h host -p port -a password -n 11 ltrim transcode 0 196 没有密码的时候 redis-c ...
- docker 部署 jenkins server
1. 拉取一个jenkins 镜像 docker pull jenkins 2. 创建与jenkins配置目录对应的,容器外的,文件目录,并修改相应的权限 mkdir /home/jenkins ch ...
- 前台技术--div的隐藏与显示
怎样使用页面元素隐藏或显示. HTML为我们提供了两个变量visibility和display visibility:隐藏要元素可是元素所暂用的空间不予释放.也就是说元素隐藏了,可是页面上会流出一片空 ...