基础
在布尔类型上下文中,您几乎可以使用任何表达式。
布尔类型或为真或为假。Python 有两个被巧妙地命名为 True
和 False
的常量,可用于对布尔类型的直接赋值。表达式也可以计算为布尔类型的值。在某些地方(如 if
语句),Python 所预期的就是一个可计算出布尔类型值的表达式。这些地方称为 布尔类型上下文环境。事实上,可在布尔类型上下文环境中使用任何表达式,而 Python 将试图判断其真值。在布尔类型上下文环境中,不同的数据类型对于何值为真、何值为假有着不同的规则。
size 是整数, 0 是整数,而 <
是数字运算符。size < 0
表达式的结果始终是布尔值。可在 Python 交互式 shell 中自行测试下结果:
>>> size = 1
>>> size < 0
False
>>> size = 0
>>> size < 0
False
>>> size = -1
>>> size < 0
True
由于 Python 2 的一些遗留问题,布尔值可以当做数值对待。True
为 1
;False
为 0 。
python的not,and,or,xor,相等,蕴含
not(逻辑非 !(python中逻辑非只能使用not))
python 的 not 操作,及true和false两个值的相互转化,——————真假互异
- a=True的话, not a=False
- a=False的话,not a=True
- a=True的话,not not a=a=True
- a=False的话,not not a=a=False
| a(Bool) | not a(bool) | not not a(bool) | | :—-: | :—-: | :—-: | | True | False | True | | False | True | False |
and(逻辑与 && )
python 的 and 操作,及两个都为True时结果为True——————一假必假
- a=True,b=False的话, a and b =False
- a=False,b=True的话,a and b =False
- a=True,b=True的话,a and b =True
- a=False,b=False的话,a and b =False
python的实现实例代码如下:
# -*- coding:utf-8 -*-
a, b = True, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a and b ={c}".format(c=a and b))
a, b = not a, not b
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a and b ={c}".format(c=a and b))
a, b = True, True
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a and b ={c}".format(c=a and b))
a, b = False, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a and b ={c}".format(c=a and b))
"""
输出结果为:
a=True,b=False a and b =False
a=False,b=True a and b =False
a=True,b=True a and b =True
a=False,b=False a and b =False
"""
a(Bool) | b(Bool) | a and b (bool) |
---|---|---|
True | True | True |
False | False | False |
False | True | False |
True | False | False |
or(逻辑或 || )
python 的 or 操作,及两个中有一个为True时结果为True——————一真必真
- a=True,b=False a or b =True
- a=False,b=True a or b =True
- a=True,b=True a or b =True
- a=False,b=False a or b =False
python的实现实例代码如下:
# -*- coding:utf-8 -*-
a, b = True, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a or b ={c}".format(c=a ^ b))
a, b = not a, not b
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a or b ={c}".format(c=a ^ b))
a, b = True, True
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a or b ={c}".format(c=a ^ b))
a, b = False, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a or ={c}".format(c=a ^ b))
"""
输出结果为:
a=True,b=False a or b =True
a=False,b=True a or b =True
a=True,b=True a or b =False
a=False,b=False a or =False
"""
a(Bool) | b(Bool) | a or b (bool) |
---|---|---|
True | True | True |
False | False | False |
False | True | True |
True | False | True |
xor(逻辑异或 ^)
python 的 xor 操作,及两个中一个为True,一个为False时结果为True——————同假异真
- a=True,b=False a xor b =True
- a=False,b=True a xor b =True
- a=True,b=True a xor b =False
- a=False,b=False a xor b =False
python的实现实例代码如下:
# -*- coding:utf-8 -*-
a, b = True, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a xor b ={c}".format(c=a ^ b))
a, b = not a, not b
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a xor b ={c}".format(c=a ^ b))
a, b = True, True
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a xor b ={c}".format(c=a ^ b))
a, b = False, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a xor b ={c}".format(c=a ^ b))
"""
输出结果为:
a=True,b=False a xor b =True
a=False,b=True a xor b =True
a=True,b=True a xor b =False
a=False,b=False a xor b =False
"""
a(Bool) | b(Bool) | a xor b (bool) |
---|---|---|
True | True | False |
False | False | False |
False | True | True |
True | False | True |
相等
python 的 蕴含 操作,当两次的值不想同时(一个为True,一个为False),结果为False——————同真异假
- a=True,b=False a == b =False
- a=False,b=True a == b =False
- a=True,b=True a == b =True
- a=False,b=False a == b =True
python的实现实例代码如下:
# -*- coding:utf-8 -*-
a, b = True, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a == b ={c}".format(c=a == b))
a, b = not a, not b
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a == b ={c}".format(c=a == b))
a, b = True, True
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a == b ={c}".format(c=a == b))
a, b = False, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a == b ={c}".format(c=a == b))
"""
输出结果为:
a=True,b=False a == b =False
a=False,b=True a == b =False
a=True,b=True a == b =True
a=False,b=False a == b =True
"""
a(Bool) | b(Bool) | a == b (bool) |
---|---|---|
True | True | True |
False | False | True |
False | True | False |
True | False | False |
蕴含
python 的 蕴含 操作,及只有第一个为True时,并且第二个为False时,结果为False——————真蕴含假时为假,否则为真
注释:因为python中并没有蕴含的操作,故如果想要去进行蕴含操作的话,你可以去进行自定义函数惊醒操作
def Implies(_BoolNumber1, _BoolNumber2):
return (_BoolNumber1 and _BoolNumber2) or not _BoolNumber1
def test():
"""
输出结果为:
a=True,b=False a => b =False
a=False,b=True a => b =True
a=True,b=True a => b =True
a=False,b=False a => b =True
:return:
"""
a, b = True, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a => b ={c}".format(c=Implies(a, b)))
a, b = not a, not b
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a => b ={c}".format(c=Implies(a, b)))
a, b = True, True
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a => b ={c}".format(c=Implies(a, b)))
a, b = False, False
print("a={a},b={b}".format(a=a, b=b), end='\t\t')
print("a => b ={c}".format(c=Implies(a, b)))
test()
- a=True,b=False a => b =False
- a=False,b=True a => b =True
- a=True,b=True a => b =True
- a=False,b=False a => b =True
| a(Bool) | b(Bool) | a => b (bool) |
| :—-: | :—-: | :—-: |
| True | True | True |
| False | False | True |
| False | True | True |
| True | False | False
|
德-摩根定律
德·摩根定律在数理逻辑的定理推演中,在计算机的逻辑设计中以及数学的集合运算中都起着重要的作用。 他的发现影响了乔治·布尔从事的逻辑问题代数解法的研究。这巩固了德摩根作为该规律的发现者的地位,尽管亚里士多德也曾注意到类似现象,且这也为古希腊与中世纪的逻辑学家熟知。该定律也被称作反演律。
公式一:及
公式二:及
python的实现实例代码如下:
# -*- coding:utf-8 -*-
a, b = True, False
print("a={a},b={b}".format(a=a, b=b))
print("not a and not b = {c}\t\tnot a or not b= {d}".format(c=not a and not b, d=not a or not b))
print("not (a or b) = {c}\t\tnot (a and b)= {d}\n".format(c=not (a or b), d=not (a and b)))
a, b = not a, not b
print("a={a},b={b}".format(a=a, b=b))
print("not a and not b = {c}\t\tnot a or not b= {d}".format(c=not a and not b, d=not a or not b))
print("not (a or b) = {c}\t\tnot (a and b)= {d}\n".format(c=not (a or b), d=not (a and b)))
a, b = True, True
print("a={a},b={b}".format(a=a, b=b))
print("not a and not b = {c}\t\tnot a or not b= {d}".format(c=not a and not b, d=not a or not b))
print("not (a or b) = {c}\t\tnot (a and b)= {d}\n".format(c=not (a or b), d=not (a and b)))
a, b = False, False
print("a={a},b={b}".format(a=a, b=b))
print("not a and not b = {c}\t\tnot a or not b= {d}".format(c=not a and not b, d=not a or not b))
print("not (a or b) = {c}\t\tnot (a and b)= {d}".format(c=not (a or b), d=not (a and b)))
"""
输出结果为:
a=True,b=False
not a and not b = False not a or not b= True
not (a or b) = False not (a and b)= True
a=False,b=True
not a and not b = False not a or not b= True
not (a or b) = False not (a and b)= True
a=True,b=True
not a and not b = False not a or not b= False
not (a or b) = False not (a and b)= False
a=False,b=False
not a and not b = True not a or not b= True
not (a or b) = True not (a and b)= True
"""