计算机的本质就是计算,在其内部是01的比特位的变化,对外表现就是数据的变化。那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数、浮点数和字符串等。Python的基本数据类型也不外乎于此。

整数和浮点数就跟数学中的一样,而字符串就是各种字符的组合。另外Python还有一种数据类型叫做布尔类型(Boolean)。

布尔类型

布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是01。Python中的布尔类型只有两种值:TrueFalse。(注意:首字母都是大写,与C++、JavaScript中的小写有所不同)

布尔类型回答的是是非问题,那么什么情况下是True,什么情况下是False呢? Python里面实现了一个类型对象叫做bool,bool是一个int的子类,内置的TrueFalse就是bool仅有的两个实例对象。

使用bool我们就可以对对象进行布尔真假判断:

In [3]: bool(None)
Out[3]: FalseIn [4]: bool(0)
Out[4]: FalseIn [5]: bool([])
Out[5]: FalseIn [6]: bool(())
Out[6]: FalseIn [7]: bool('')
Out[7]: FalseIn [8]: bool({})
Out[8]: False
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

以上是判断为假的情况,总结一下为假的情况有:

  • None, False
  • 数值中的0, 0.0, 0j(虚数), Decimal(0), Fraction(0, 1)
  • 空字符串('')、空元组(())、空列表([])
  • 空字典({})、空集合(set())
  • 对象默认为True,除非它有bool()方法且返回False或len()方法且返回0.

布尔运算: and, or, not

下面的表列举了布尔运算的结果,优先级为升序:

运算 表达式 结果 说明
或运算 x or y 如果x为False则取决于y;如果x为True则不考虑y (1)
与运算 x and y 如果x为False则不考虑y;如果x为True则取决于y (2)
非运算 not x 如果x为False则为True,否则为False (2)

说明:
(1)or 是一种“短路运算符”,只有当第一个为False时才去验证第二个。即:两个变量只要有一个为True则为True。
(2)and也是种“短路运算符”,只有当第一个为True时才去验证第二个。即:两个变量都为True时结果才为True。
(3)not的优先级比非布尔运算符底,所以not a == b解释为not (a == b),并且a == not b是语法错误。

In [24]: 1 == not 2File "<ipython-input-24-886f7aef0701>", line 11 == not 2^
SyntaxError: invalid syntaxIn [25]: not 1 == 22
Out[25]: True

上面讲到,or, and, not的优先级是依次递增的,优先级跟小学数学中先乘除后加减但括号里面的更优先是一样的。
那么小猿们猜猜下面的代码会输出什么:

print('' or 'b' and 'c')
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

优先级and大于or,所以先计算and
(1)先计算'b' and 'c'时,'b'是True,则结果取决于'c',因此返回'c'
(2)再计算'' or 'c'''是False,则结果取决于'C',因此返回'c'
(3)最后打印出:c
你算对了吗?

比较运算

前面提到,布尔值反应的是“是非”,有比较才有是非。Python中有8中比较运算。它们有相同的优先级,比布尔运算的优先级高。比较运算符可以任意的连写,比如:x < y <=z相当于x < y and y <= z

下面我们用表格来说明这8种不同的比较运算:

运算 含义
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
is 是对象
is not 不是对象

总结

布尔类型(True, False)表示“是非”,是比较运算的结果,是条件判断的结果,从而决定程序的流程和分支走向。

Python基础教程:基本数据类型之布尔类型(Boolean)相关推荐

  1. numeric scale mysql_MySQL基础教程1 — 数据类型之数值类型 - numeric

    ...if (!$dateTimeString) { $dateTimeString = time(); } $numeric = ''; $add_space = false; for($i=0;$ ...

  2. Python基础教程之数据类型

    之前我们已经介绍了变量.变量的创建和赋值,以及变量的命名规则等等.今天我们继续来介绍Python的数据类型:数字类型.布尔型和字符串类型. 我们用之前的例子来进一步讲解: name,age,weigh ...

  3. python基础教程:数值与字符串类型

    Python3 中有六个标准的数据类型:Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictionary(字典). 不可变数据(四个):Num ...

  4. Python基础教程:赋值语句和布尔值

    一.赋值语句 1.序列解包 多个赋值同时进行: >>> x,y,z = 1, 2, 3 >>> print(x, y, z) 1 2 3 变量交换: >> ...

  5. python基础教程第二版答案-《Python基础教程》(第2版修订版)中要注意的地方...

    想必现在大家学习Python都会用3.0及以上的版本了,虽然2.X的版本依然很多,但是这两年随着部分开源项目不再支持2.X版本,3.X已经成为趋势. 正是在这样的大背景下,我最近用这本<Pyth ...

  6. python基础教程第二版和第三版有什么区别-《Python基础教程》(第2版修订版)中要注意的地方...

    想必现在大家学习Python都会用3.0及以上的版本了,虽然2.X的版本依然很多,但是这两年随着部分开源项目不再支持2.X版本,3.X已经成为趋势. 正是在这样的大背景下,我最近用这本<Pyth ...

  7. 《Python基础教程》学习笔记——条件、循环及其他语句

    Python基础教程--条件.循环及其他语句 条件.循环及其他语句 再谈 print 和 import 打印多个参数 导入时重命名 赋值魔法 序列解包 链式赋值 增强赋值 代码块:缩进的乐趣 条件和条 ...

  8. Python基础教程(一)

    Python基础教程 一.简介 Python的历史和为什么学习Python这里就不在赘述了.处于工作原因,对Python要进行深入的学习和研究,这里主要针对的就是Python具有的丰富和强大的库. P ...

  9. Python基础教程-菜鸟教程学习笔记1

    Python基础教程-菜鸟教程学习笔记1 文章目录 Python基础教程-菜鸟教程学习笔记1 前言 Python 简介 1. 第一个Python程序 2. Python 中文编码 3. 基本语法 1) ...

最新文章

  1. YOLOv3模型剪枝,瘦身80%,提速100%,精度基本不变
  2. 利用ViewPager+Fragment+actionbar实现可左右滑动的Action Tab
  3. jetty java 实例_Maven+Jetty+Servlet 简单示例
  4. 自绘制View---------左右滑动刻度调频View
  5. robo光线机器人 java_Robocode教程6——用eclipse来写你的机器人!
  6. NOJ 20 吝啬的国度
  7. Java 集合系列目录(Category)
  8. Unity中uGUI的控件事件穿透逻辑
  9. Java动态代理简述
  10. 位运算符 | ^ ~的厉害__10进制 To 2进制
  11. 搜狐html源码,使用css和html模仿搜狐页面
  12. SAP License:MTO和MTS的区别
  13. Linux服务之cobbler批量部署篇
  14. 【从C到C++学习笔记】C++介绍/推荐书籍/开发工具
  15. Ubantu16.04,利用vsftpd搭建ftp服务器,修改vsftpd.conf后,无法连接服务器
  16. 如何将FLASH 里fla swf的矢量图像导入到Photoshop?
  17. 关于 TRTC (实时音视频通话模式)在我司的实践
  18. Arcgis模型导出之一
  19. 产品设计过程中的沉没成本和禀赋效应
  20. 咖啡兔流程执行逻辑分析

热门文章

  1. 小学计算机设备管理 维护制度,信息化各种设备使用、管理及维护制度
  2. 转载-CentOS虚拟机和物理机共享文件夹实现
  3. 关于如何获得虚拟机还是真机信息
  4. 3W字总结:如何准备校招进大厂?
  5. 键盘上各种符号的英文名称与发音
  6. 拼多多双滑块识别/拼多多空间点选/验证码本地库识别
  7. 国外美金调查项目,到底靠谱不靠谱
  8. 【无人机】基于Matlab的四旋翼无人机控制仿真
  9. 美团王兴的创业三原则
  10. 协方差Cov(X,Y)的含义(转)