你真的了解Python中的布尔类型吗?

文章目录

  • 你真的了解Python中的布尔类型吗?
    • 布尔类型(bool)
    • True 和 False
    • None对象

布尔类型(bool)

在介绍 True 和 False 之前先介绍下Python中的布尔类型。

布尔类型本质上是数值类型。它只包含两个值>> True 和 False, 也就是整数0和1的定制机版,只是打印到控制台时有所不同。

以上是大多数人都知道的。今天我们深入地说说这个名为 bool 的显式布尔数据类型,带有True 和 False作为可用且预值的内置名称。

在内部,名称True和False是bool的实例,然而bool实际上是内置整数类型int 的子类而已。

所以布尔表达式在交互命令行模式的输出就作为关键字 True和 False显示的,而并非1和0.布尔型让真值在代码中更明显。

eg:`# 无限循环

while True: # 而不是while 1:

True 和 False

首先总结下python中True 和 False 的范围:

python中整数0代表假,整数1代表真。
python也把其他任何空数据结构视为假,任何非空数据结构视为真。
真和假是每个对象固有属性,每个对象非真即假。

1.整数类型:数字如果等于零则为假,反之为真

>>> bool(1); bool(-10); bool(0)
True
True
False

ps:True 预先赋值1,False预先赋值0

>>> True + 4; False + 4
5
4

但是True并不是1,False并不是0,只是值相同

>>> True == 1; False == 0
True
True
>>> True is 1; False is 0
False
False

2.其他对象,如果为空则为假,反之为真

>>> bool('')
False
>>> bool(['a','b'])
True
>>> bool({})
False
>>> bool(())
False

在实际运用中空数据结构当作假是很实用的。
eg:

if string != '':
#string 是一个字符串,这样一个if语句可以判断字符串是否为空

None对象

python中除了True 和 False以外,还有一个特殊对象,None.
None是一种特殊的占位符对象,并且被认为是假

>>> bool(None)
False

它是python中的一种特殊数值类型的唯一值,一般起到一个空占位符的作用(类似于C语言中的NULL指针)

eg:如果分配一个含100项的列表,可以在100个偏移量的每一个上赋值None对象。

>>> [None]*100
[None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]

这并不是限制了列表大小,之后仍然可以增长或缩短,只是预设了一个初始大小,从而允许之后的索引赋值。(当不知道列表内容时用None)

None不代表未定义

None是一个真正的对象,并且有真实的内存,例如函数中return 默认返回值是None,而不是不返回值。

详解Python中的True、False和None相关推荐

  1. python停止线程池_详解python中Threadpool线程池任务终止示例代码

    需求 加入我们需要处理一串个位数(0~9),奇数时需要循环打印它:偶数则等待对应时长并完成所有任务:0则是错误,但不需要终止任务,可以自定义一些处理. 关键点 定义func函数处理需求 callbac ...

  2. python操作符op_详解python中的 is 操作符

    大家可以与Java中的 == 操作符相互印证一下,加深一下对引用和对象的理解.原问题: Python为什么直接运行和在命令行运行同样语句但结果却不同,他们的缓存机制不同吗? 其实,高票答案已经说得很详 ...

  3. python中groupby()函数讲解与示例_详解python中groupby函数通俗易懂

    一.groupby 能做什么? python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算! 对于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下: df[ ...

  4. python的装饰器迭代器与生成器_详解python中的生成器、迭代器、闭包、装饰器

    迭代是访问集合元素的一种方式.迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 1|1可迭代对象 以直接作用于 for ...

  5. 详解Python中pyautogui库的最全使用方法

    这篇文章主要介绍了详解Python中pyautogui库的最全使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 在使用Python做脚本的话,有两个库可以使用,一个 ...

  6. 详解python中GPU版本的opencv常用方法介绍

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ 高州阳光论坛https://www.hnthzk.com/ 引 ...

  7. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  8. pythonnamedtuple定义类型_详解Python中namedtuple的使用

    namedtuple是Python中存储数据类型,比较常见的数据类型还有有list和tuple数据类型.相比于list,tuple中的元素不可修改,在映射中可以当键使用. namedtuple: na ...

  9. python xlrd安装_详解python中xlrd包的安装与处理Excel表格

    一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...

最新文章

  1. 【动画2】CALayer动画
  2. mvvm command的使用案例
  3. App Store审核被拒的23个理由
  4. OCM备考 一、Server config 之配置shared server
  5. 字符串的方法、注释及示例1.
  6. 修改默认的pip版本为对应python2.7
  7. 来吧学学.Net Core之项目文件简介及配置文件与IOC的使用
  8. 小程序 wxml selectable_微信小程序 抽象节点
  9. HDU2031 进制转换
  10. 旧文重现,10种职场经典寓言
  11. 智能优化算法:生物地理学优化算法-附代码
  12. 阶段3 2.Spring_10.Spring中事务控制_11 spring5新特性的介绍
  13. 计算机专业工艺流程简述,CNC加工中心编程的工艺流程,新手必读! ! !
  14. 飞思卡尔全国总决赛智能车决赛赛道分析
  15. Automation服务器不能创建对象--Excel.application
  16. 化学到底是不是一个好专业?该不该转行?————试图以此文终结所有相关讨论
  17. python-基站位置查询
  18. 高冷一字id_一个字的网名-一个字网名带符号-一字网名大全-腾牛个性网
  19. IE打开网页默认为英文
  20. 使用Python写latex:pylatex的简单使用

热门文章

  1. 基于pytorch简单实现稀疏3d卷积(SECOND)
  2. python中的一些快捷键
  3. 我与陈景润的一次争论
  4. pytorch框架实现老照片修复功能详细演示(GPU版)
  5. 数字图像处理学习笔记 离散傅里叶变换
  6. 现代通信原理A.2:FIR低通滤波器设计
  7. numpy_eye函数
  8. Linux的文件系统(磁盘标准分区)
  9. Ubuntu8.04安装Realplayer11
  10. 【解决方案】如何搭建一套完整的工厂安防智能监控系统——EasyCVR实现设备接入与维护