📜  Python 3 – 逻辑运算符

📅  最后修改于: 2022-05-13 01:55:02.424000             🧑  作者: Mango

Python 3 – 逻辑运算符

逻辑运算符用于对值和变量执行某些逻辑运算。这些是执行一些逻辑计算的特殊保留关键字。运算符操作的值称为操作数。在Python中,它们用于条件语句(True 或 False),因此,它们仅返回布尔值(True 或 False)。它们用于组合条件语句

Python语言支持以下逻辑运算符:

  • 逻辑与
  • 逻辑或
  • 逻辑非

逻辑与

逻辑运算符AND仅当两个操作数都为 True 时才返回 True,否则返回 False。它是一个二元运算符,意思是返回一些值,它必须在两个运算符之间进行操作(即需要两个运算符)

真值表:

Operator AOperator BLogical AND result
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

示例 1:

Python3
a = 12
b = 26
c = 4
  
if a > b and a > c: 
    print("Number a is larger") 
  
if b > a and b > c: 
    print("Number b is larger") 
  
if c > a and c > b:    
    print("Number c is larger")


Python3
a = 10
    
if (a == 0 and "Hello"):
    print("a has value zero(0)")
else:
    print("a is not equal to zero")


Python3
a = 10
b = -5
  
if a < 0 or b < 0:
  print("Their product will be negative")
else:
  print("Their product will be positive")


Python3
a = 10
  
if (a == 0 or "GeeksForGeeks"):
  print("Is Awesome")
else:
  ("Try Again!")


Python3
a = 10
  
if not a == 10:
  print ("a not equals 10")
else:
  print("a equals 10")


Python3
a = 10
  
if not a%5 == 0:
  print("a is not perfectly divisible by 5")
else:
  print("a is perfectly divisible by 5")


输出:

Number b is larger

示例 2:

Python3

a = 10
    
if (a == 0 and "Hello"):
    print("a has value zero(0)")
else:
    print("a is not equal to zero")

输出:

a is not equal to zero

如果在使用 and运算符时第一个表达式的计算结果为 false,则不会计算其他表达式。此外,任何字符串总是被认为是一个真实的陈述。在上面的例子中,第一个条件为假,因此它不会检查第二个条件,因此它不会检查另一个条件,它将转到else语句。

逻辑或

逻辑运算符OR仅当两个操作数都为 False 时才返回 False,否则返回 True。它是一个二元运算符,意思是返回一些值,它必须在两个运算符之间进行操作(即需要两个运算符)

真值表:

Operator AOperator BLogical OR Result
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

示例 1:

Python3

a = 10
b = -5
  
if a < 0 or b < 0:
  print("Their product will be negative")
else:
  print("Their product will be positive")

输出:

Their product will be negative

示例 2:

Python3

a = 10
  
if (a == 0 or "GeeksForGeeks"):
  print("Is Awesome")
else:
  ("Try Again!")

输出:

Is Awesome

在这里,在OR逻辑运算符中,即使在使用 and运算符时评估的第一个表达式为假,也会评估进一步的表达式。此外,任何字符串总是被认为是一个真实的陈述。在上面的例子中,第一个语句是假的,但它也会评估第二个语句,因为它仅在两个操作数都是 False 并且字符串被认为是 True 语句时才返回 False,因此,它将被评估并且下面print 语句将被打印。

逻辑非

逻辑运算符与单个布尔值一起使用,如果布尔值为 False,则将值返回为 True,反之亦然(与之相反)。它是一个一元运算运算符,这意味着要返回一些值,它必须只对一个运算符进行操作。 (即,只需要运算符)

真值表:

Operator ALogical NOT Result
TrueFalse
FalseTrue

示例 1:

Python3

a = 10
  
if not a == 10:
  print ("a not equals 10")
else:
  print("a equals 10")

输出:

a equals 10

这里,a 等于 10,布尔值 a == 10 返回值 True。因此,布尔值not a == 10 将返回值为 False 并且由于不满足if条件,它将跳转到else语句。

示例 2:

Python3

a = 10
  
if not a%5 == 0:
  print("a is not perfectly divisible by 5")
else:
  print("a is perfectly divisible by 5")

输出:

a is perfectly divisible by 5