喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!

1.布尔类型

python中True表示真,False表示假,它们是布尔类型:

1 >>> type(True)
2 <class 'bool'>

在python中,bool的True和False是数值1和0的字符串表示格式,实际上bool类型是int类型的一个子类。

1 >>> bool.__bases__
2 (<class 'int'>,)

因为True/False是数值1和0的另一种表示方式,它们可以直接参与数值运算。

​
1 >>> True + 2
2 3
3 >>> False + 2 - 1
4 1我是一名python开发工程师,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,
面试真题,面试真题,面试真题等。想要这些资料的可以进群:688244617

2.True/False的各种形式

虽然True代表1,False代表0。但实际上,python中的任何一个数据对象要么是True,要么是False,所以可以直接在布尔测试的表达式中使用,而并非一定要去大小比较、通过函数测试等等。比如:

1 if "a":
2 while 1:

可以通过bool()函数来测试数据对象、表达式是True还是False。例如:

1 >>> bool(0)
2 False
3 >>> bool(1)
4 True
5 >>> bool('a')
6 True
7 >>> bool('')
8 False

那么,哪些类型的数据是True,哪些类型的数据是False?

  • 整数值0、浮点数值0.0等、空字符串都为假
  • None为假
  • 空数据对象都是假,比如[]、{}、()等
  • 注意,元组的括号和逗号的特殊性。例如(())、(None)、(1)这些都不是元组,而是单个数据对象,加上逗号才算是元组。所以,使用括号包围但却不是元组的数据,如果它们是假,则整个返回假,而不是元组看上去不为空而返回真

以下是各种内置数据类型的一些真、假示例:

1 True False
2 ----------------------------------
3 number: 1、1.1 0、0.0
4 string: 'a' ''
5 None: None
6 list: ['a']、[1] []
7 [0]、['']、[None]
8 Set/Dict: {'a'} {}
9 tuple: ('a')、(1) ()、('')、(0)、(None)

看几个示例:​

1 >>> bool(1), bool(0)
2 (True, False)
3
4 >>> bool('a'), bool('')
5 (True, False)
6
7 >>> bool(None)
8 False
9
10 >>> bool(['a']), bool([1]), bool([]), bool(['']), bool([()])
11 (True, True, False, True, True)
12
13 >>> bool({'a'}), bool({}), bool({''})
14 (True, False, True)
15
16 >>> bool(('a')), bool(()), bool(('')), bool((0)), bool(({}))
17 (True, False, False, False, False)
18
19 >>> bool(((),)),bool((None,))
20 (True, True)

实际上,一个数据对象是真还是假,是根据这个类型的__bool__()的返回值(为False则为假)以及__len__()的返回值(为0则为假)来决定的。

觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!

Python的布尔类型和True/False的各种形式相关推荐

  1. [转载] Python中int类型和string类型的相互转换

    参考链接: Python类型转换和类型转换 1.字符串转换成int a = '10' int(a) //十进制string转化为int, 10int(a, 16) //十六进制string转化为int ...

  2. python中str类型和object类型_pandas str和object类型之间的区别

    现象: Numpy区分了str和object类型,其中dtype('S')和dtype('O')分别对应于str和object. 然而,pandas缺乏这种区别 str和object类型都对应dtyp ...

  3. python 将布尔数组取反的方法 True False(b=(a==False))

    a=[True,True,False,False] a=np.array(a) b=(a==False) print(b) # [False False True True] print(b.toli ...

  4. Python基础必掌握的5种数据类型和8种内置函数基本操作

    今天跟着我一起学习/复习一下Python语法的5种基本数据类型和8种数据基本操作.如果你已经掌握了这块内容,也建议跟着文中代码进行操作加深印象巩固学习成果. 整套学习自学教程中应用的数据都是<三 ...

  5. python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...

    建议不是你不应该使用True,False或None.这只是你不应该使用如果x == True. 如果x == True是愚蠢的,因为==只是一个二进制运算符!它的返回值为True或False,取决于它 ...

  6. Java学习(4)—— 布尔类型、基本数据类型转换、基本数据类型和String类型的转换

    布尔类型 也叫Boolean类型,boolean只允许取true和false. boolean占一个字节. 适用于逻辑运算,流程控制语句. 有默认类型,是false.但是应该声明为成员变量或是静态变量 ...

  7. Python里面None True False之间的区别

    None虽然跟True False一样都是布尔值. 虽然None不表示任何数据,但却具有很重要的作用. 它和False之间的区别还是很大的! 例子: >>> t = None > ...

  8. 如何验证Java 布尔类型的true = 1 ,false = 0

    如何验证布尔类型的true = 1 ,false = 0 观察Java字节码可知,在test方法中, L0 对应的是test1变量的初始化 L1 对应的test2变量的初始化 - L0 之后的缩进的第 ...

  9. python中return true的用法_Return True/False何时使用它而不是Return

    类比:函数是一个准备好执行任务并给出答案的可克隆助手.任务由函数的参数定义(括号内的内容).让我们重写这些名称以赋予它们语义意义(即说明我们期望的名称).在def isXGreaterThanY(.. ...

最新文章

  1. 年轻人对于“绰号”的认识
  2. 天池 在线编程 删除字符(单调栈)
  3. LinkedList源码阅分析
  4. CreatorPrimer|优化编辑器
  5. 机器学习笔记(十):梯度下降 | 凌云时刻
  6. Halcon入门笔记一
  7. 快速在越狱iphone手机下定位app安装包并且导出的方法
  8. powerapps简介
  9. 【5G系列】MAC (Medium Access Control)协议详解
  10. excel常用控件使用方法一看就懂(干货不糊弄)
  11. Delete出错分析总结(个人总结很到位) 0x0000007ff64426f87e(ucrtbased.dll)处(处于dataa.exe中)引发的异常:
  12. 想买个吉他英雄3的正版
  13. Elasticsearch教程(31) es mapping参数doc_values enabled ignore_above norms store详解
  14. Git —— 4、团队协作机制及GitHub操作
  15. 《安富莱嵌入式周报》第266期:真正模拟DA神的威力,全开源nV级测量仪表挑战赛结束,欣赏震撼设计过程
  16. 计算机视觉 专业术语,计算机视觉中常用的术语.doc
  17. torch.contiguous()函数用法
  18. 英伟达GPU产品分类说明
  19. 东北林业大学OJ题目3
  20. java虚拟机win10_主编解读win10系统Java虚拟机错误的详尽解决方法

热门文章

  1. 快速使用Android串口
  2. fireworks 投影_使用Fireworks MX粘贴到内部
  3. 设计师怎么优雅的薅羊毛——技能get!!
  4. 找工作真的难吗?并不是工作难找,而是自满的人越来越多。
  5. JavaScript比较两个数字的大小
  6. 使用缓冲字符流进行文档排序
  7. 25匹马,5条赛道,一匹马一个赛道,求决胜1,2,3名至少多少场。
  8. 算法与数据结构1800题 之栈和队列 (一)
  9. 在托马斯·哈代的五月中学习机器学习之新闻分类
  10. GL-HOOK-ERR: 本项目开启了commitlint检查,您的提交不符合规范,具体规则可以查看:http://commitlint.js.org/