进行逻辑判断(比如if)时,Python当中等于False的值并不只有False一个,它也有一套规则。对于基本类型来说,基本上每个类型都存在一个值会被判定为False。大致是这样:

  • 布尔型,False表示False,其他为True
  • 整数和浮点数,0表示False,其他为True
  • 字符串和类字符串类型(包括bytes和unicode),空字符串表示False,其他为True
  • 序列类型(包括tuple,list,dict,set等),空表示False,非空表示True
  • None永远表示False

自定义类型则服从下面的规则:

  • 如果定义了__nonzero__()方法,会调用这个方法,并按照返回值判断这个对象等价于True还是False
  • 如果没有定义__nonzero__方法但定义了__len__方法,会调用__len__方法,当返回0时为False,否则为True(这样就跟内置类型为空时对应False相同了)
  • 如果都没有定义,所有的对象都是True,只有None对应False

None和False它们的主要区别是在语义上:False和True对应,它作为布尔类型用来描述逻辑中“假”这个概念;None和“存在元素”相对应,“存在元素”反过来为“不存在元素”,也就是None。另外,None是NoneType对象类型的唯一值。False是bool类型的值。在python中,每一个对象均有一个bool值。像空字符串、空列表、空字典这些对象的bool值就是False,而None对象的bool值为False。

参考链接:https://www.zhihu.com/question/48707732/answer/112233903

python中的None与False相关推荐

  1. Python中布尔值是False的所有值

    在python中以下都是False:为0的,空集合,空字符串,空值None >>> bool(0) False >>> bool(-0) False >> ...

  2. Python中的True和False详解

    Python中的True和False总是让人困惑,一不小心就会用错,本文总结了三个易错点,分别是逻辑取反.if条件式和pandas.DataFrame.loc切片中的条件式. 1.True和False ...

  3. 详解Python中的True、False和None

    你真的了解Python中的布尔类型吗? 文章目录 你真的了解Python中的布尔类型吗? 布尔类型(bool) True 和 False None对象 布尔类型(bool) 在介绍 True 和 Fa ...

  4. python中的True 和 False详解

    python中的True 和 False详解 参考 [1] https://docs.python.org/3/library/stdtypes.html#truth 中的Truth Value Te ...

  5. python中的True和False以及内置函数any()、all()

    文章目录 1.内置函数all().any() 2.python中哪些元素是真True,哪些元素是假False 3.python中的None对象 4.python中的布尔(bool)值 5.内置函数al ...

  6. python中True和False与字符串True和False

    python中字符串"True"."False"无发转化为bool类型,字符串的bool值都为True. 在配置文件config.ini中如果定义一个变量为bo ...

  7. true在python是什么意思_Python3中真真假假True、False、None等含义是什么

    Python3中真真假假True.False.None等含义是什么 发布时间:2020-11-19 14:27:34 来源:亿速云 阅读:71 作者:小新 小编给大家分享一下Python3中真真假假T ...

  8. python while false是什么意思_Python3中真真假假True、False、None等含义详解

    在Python中,不仅仅和类C一样的真假类似,比如1代表真,0代表假.Python中的真假有着更加广阔的含义范围,Python会把所有的空数据结构视为假,比如 [] (空列表). {} (空集合).  ...

  9. 编程软件python中的if用法-Python高效编程的19个技巧

    初识Python语言,觉得python满足了我上学时候对编程语言的所有要求.python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了.高级语言,如果做 ...

最新文章

  1. mybaits二十一:2缓存介绍
  2. RabbitMQ工作线程代码
  3. GC算法以及垃圾回收器
  4. mysql dw解决方案_MySQL 的 DW 解决方案(MySQL + Infobright)
  5. Zxing 扫描码的ios简化版搭建过程
  6. html标签元素分类
  7. 科技小科普】物联网的八大核心技术
  8. 【开发者必看】APP《安全评估报告》填写范例
  9. mysql基础命令(一)
  10. 弗雷歇距离的原理及python代码实现(动态规划)
  11. 支付宝、微信、QQ 收款二维码三合一
  12. 【计算机毕业设计】ssm高校学生网上请假系统
  13. 阿里fastjson将集合转为树形结构【非原创】
  14. 【爬虫】scrapy下载股票列表(四)——对接mongodb保存数据
  15. 三星note20u计算机功能,三星Note20Ultra隐藏功能有哪些-有哪些使用技巧
  16. 2022“杭电杯”中国大学生算法设计超级联赛(1)C.Backpack
  17. 年前找Java实习面试经历
  18. 教你怎么学习Java
  19. 非科班关于gan的一点点学习
  20. 智能颈部按摩仪——5.档位切换实现

热门文章

  1. Excel求解运输问题——以福斯特公司问题为例
  2. SEO搜索引擎优化相关
  3. 计算机应用 外审一天完成,计算机仿真外审多长时间
  4. Project2010 教程(简约版)
  5. Java集成DataX开发
  6. 链表反转(C++版)
  7. XueTr查找到未知内核模块如何定位这个模块的位置
  8. OllyDbg 使用笔记 (十六)
  9. 网站服务 - 网址大全
  10. 电脑版微信发不出去文字和文件