从零开始学习python(4)——布尔类型

布尔类型

布尔类型是一种数据类型,它的值只有真与假,在Python中用TrueFalse来表达。

我们先来IDLE中做一下测试,通过使用内建函数bool()可以直接给出相应的结果:

>>> bool("假")
True
>>> bool("False")	#字符串
True
>>> bool(False)
False
>>> bool("")		#双引号中没有内容
False
>>> bool("  ")		#输入空格
True
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(0j)
False
>>> bool(123)
True

分析

  1. 有朋友可能好奇,什么?明明输入的是False为什么返回的还是True,其实这只是一个小小的障眼法,因为它们有用双引号括起来所以他们是字符串(第一第三行),在字符串中只有空字符(第七行)才会返回False,即使是输入空格(第九行)也会返回True
  2. 在数字类型中也只有特定的几个数才会返回False,其余的都是True

通过测试我们发现,只有在一些特定情况下,bool()才会返回False,总结为以下几种:

  1. 常量NoneFalse
  2. 00.00jDecimal(0)Fraction(0, 1)
  3. 空字符串,空集合、序列等,''()[]set()range(0)

这里面有些对我们来说看着多都很陌生,不过没关系,以后会慢慢接触到的。

布尔运算

布尔类型的运算符有三种分别是:andornot,关于这三个逻辑运算符,以及其他常用运算符,我之前有进行过总结,点击这里可以查看。

测试代码:

>>> 2 > 3 and 3 > 2
False
>>> 2 > 1 and 3 > 1
True
>>> 2 > 1 or 3 < 5
True
>>> 1 > 4 or 3 > 2
True
>>> 1 > 3 or 3 > 6
False
>>> not False
True
>>> not 250
False
  1. 对于and运算符来说必须两边的操作数都为True结果才会返回True,否则返回False
  2. 对于or运算符来说,只要有一个操作数为True,结果即为True,否则返回False
  3. 对于not运算符来说,就是将True变为False,将False变为True

Python中任何对象都能直接进行真值测试(测试该对象的布尔类型值为True还是False),当然也可以作为布尔逻辑运算符的作操作数,也可以说任何类型都可以作为布尔逻辑运算符的操作数。

>>> 2 and 4
4
>>> 3 or 5
3
>>> "python" and "C"
'C'
>>> "Hello" or 123
'Hello'

那么为什么会是这样呢?这里就留给大家去思考了,后面我也会重新写一篇文章进行解答。

猜你喜欢

转载自blog.csdn.net/m0_46376148/article/details/108530092