在上一课中,我没有说明一种特定的数据类型,因为它与所有其他数据类型明显不同,并且有点负责编程语言中的表示逻辑。 属于布尔数据类型的所有值都可以为True或False。 是或否。黑色或白色。 没有中间立场,灰色区域或妥协。 该语言将程序中的每个表达式评估为True或False。 但是,那是什么意思呢? 什么是真的? 什么是假的? 我们需要学习修辞学才能编程吗? 那不是我一直在想编程的目的!!!

放松。 幸运的是,该程序不会要求您能够回答有关人类生存的意义和目的的哲学问题。 语言所认为的是与常识相对应的一切。 2等于1 + 1为True。 5大于10为False。 Python除了我们之前已经讨论过的算术运算符之外,还包括比较运算符的概念,使我们可以将两个表达式相互比较,然后根据条件返回的符号,无论比较是True还是False:
打印(2 == 1 + 1)#是2等于1 + 1
打印(5> 10)
打印(65 <100–30)
打印(“ Rodger” ==“ Ben”)
结果:
真正
假
真正
假
看到? 每次您在一定条件下(例如,等于条件)在两个不同的表达式之间进行比较时,它将返回一个布尔值,该布尔值向我们显示所提出问题的答案。 有时您可能想知道程序中特定变量的值是否具有某个预期值。 也许您想确保函数的输出不会超过1000,或者在脚本的运行会话中已多次更改的全局变量仍为同一数据类型。 您可以使用比较运算符执行此操作以及执行更多操作。
实际上,您甚至可以直接分配布尔值:
苹果=真
橙色=假
打印苹果
打印橙色
结果:
真正
假
但是,鉴于您现在拥有的信息,这似乎毫无意义。 是的,我可以有很多布尔值,将它们分配给变量,然后观察它们如何被打印出来,但这并不令人兴奋。 如果您不能以某种实际的方式使用某些功能,那有什么意义呢? 好吧,它们确实有用,因为您可以组合布尔值以获得……另一个布尔值!!! 很棒吗

布尔逻辑还包括诸如NOT,OR,AND,NOT OR,NOT AND的运算符。 它们使我们能够使用布尔值执行各种操作,因为我们可以进行大量的比较序列,从而导致复杂的表达式产生我们所需的单个布尔值。 让我们实际看一下以下示例,以了解这些运算符的工作方式以及为什么需要它们。 假设我们有一个值为T的变量T和一个值为False的变量F:
T =真
F =错误
打印(T)
打印(F)
结果:
真正
假
现在很清楚,但是如果我们尝试不将运算符应用于这两个变量,该怎么办:
T = T
F = F
打印(不可以)
打印(非F)
结果:
假
真正
不违背直觉,运算符不仅仅返回与使用它的表达式相反的任何布尔值。 从更简单的示例中我们可以看到:
打印(NOT(2 == 1 + 1))#是2等于1 + 1
打印(NOT 5> 10)
打印(NOT 65 <100–30)
打印(不是“ Rodger” ==“ Ben”)
结果:
假
真正
假
真正
这很容易理解,但是运算符AND的作用是什么? 它计算两个布尔表达式,并且仅当两个表达式都为true时才返回True,否则它将返回False。 让我们现在来看:
T =真
F =错误
打印(T和T)
打印(T和F)
打印(F和T)
打印(F和F)
结果:
真正
假
假
假
好的,这可能有点令人困惑,但是当您查看此操作符时,它会清除所有内容:
打印(5> 2和1 == 1)
打印(2 11)
打印(58 == 21和54> = 45)
打印(54 == 1和0> 65)
结果:
真正
假
假
假
当其中一个表达式为False时,AND根本无法返回True,因为如果这样做,它将违反所有常识。
下一个OR非常简单。 每当所检查的表达式之一为True时,它将返回True,否则它将返回False。 让我们来看看:
T =真
F =错误
打印(T或T)
打印(T或F)
打印(F或T)
打印(F或F)
结果:
真正
真正
真正
假
同样,当您在操作中查看此运算符时,更容易理解它的工作原理。 尽管我怀疑您对此会有任何问题:
打印(5> 2或1 == 1)
打印(2 11)
打印(58 == 21或54> = 45)
打印(54 == 1或0> 65)
结果:
真正
真正
真正
假
如果运算符AND确实很严格,并且希望所有内容都为真,那么OR只会更妥协,并且可以,只要其中一个表达式为True。 一开始,最后两个运算符NOT AND和NOT OR看起来可能很奇怪和不完整,但是它们只是相同的AND和OR运算符,只是在其结果上应用了NOT运算符。
为了说明这一点,每次运算符AND将返回True值,NOT AND将返回False,反之亦然。 NOT OR也是如此,因此使用它们应该没有任何麻烦,只需先应用它们的普通形式,然后将其转换为相反的值,就可以了:
T =真
F =错误
打印(不是(T和T))
打印(不是(T和F))
打印(不是(F和T))
打印(不是(F和F))
结果:
假
真正
真正
真正
T =真
F =错误
打印(不是(T或T))
打印(不是(T或F))
打印(不是(F或T))
打印(不是(F或F))
结果:
假
假
假
真正
您可能会想知道自己,脸上满是贪婪和不满意的表情,几乎没有握住贪婪和编码饥饿感,但是仅两个布尔值是不够的! 我想要更多!!! 我想评估9999布尔值并查看结果!

好吧,你可以。 没有什么可以阻止你。 即使将布尔值的数量增加到一百万,仍然会遵循相同的规则。实际上,创建极其复杂的布尔表达式的行为本身就是一门艺术,更不用说它的乐趣了。
下次见!
附注:您已经可以开始使用布尔值了。 让您发挥想象力。