📌  相关文章
📜  Python中的真值与假值

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

Python中的真值与假值

在本文中,我们将了解Python中的值和值的概念,并了解如何使用bool()内置Python函数来确定值是值还是值。

现在,让我们从以下两个代码开始:

Python3
number = 7
if number:
  print(number)


Python3
number = 0
if number:
  print(number)


Python3
bool(7)
# True
  
bool(0)
 #False
    
bool([])
# False
  
bool({7,4})
#True
  
bool(-4)
# True
  
bool(0.0)
# False
  
bool(None)
# False
  
bool(1)
#True
  
bool(range(0))
# False
  
bool(set())
# False
  
bool([1,2,3,4])
# True


Python3
# define a function for checking
# number is even or odd
def even_odd(number):
    
  if number % 2: 
      
     # since num % 2 is equal to 1
     # which is Truthy Value
     return 'odd number'
      
  else: 
      
     # since num%2 is equal to 0
     # which is Falsy Value.
     return 'even number'
  
result1 = even_odd(7)
  
# prints odd
print(result1) 
  
result2 = even_odd(4)
  
# prints even
print(result2)


输出:

7

让我们将数字的值更改为 0

Python3

number = 0
if number:
  print(number)

输出:

There is no Output

你有没有想过为什么上面的代码运行成功,尽管number不是一个表达式?

答案在于值和值的概念。

真值与假值

在Python中,单个值可以评估为TrueFalse

基本规则是:

  • 评估为 False 的值被认为是Falsy
  • 评估为 True 的值被认为是Truthy

虚假值包括:

1)序列和集合:

  • 空列表 []
  • 空元组 ()
  • 空字典{}
  • 空集 set()
  • 空字符串“”
  • 空范围范围(0)

2) 数字:任何数字类型的零。

  • 整数:0
  • 浮点数:0.0
  • 复杂:0j

3) 常数:

  • 没有任何
  • 错误的

错误值是在我们的初始示例中当number的值为零时没有输出的原因。

真实价值观包括:

  • 非空序列或集合(列表、元组、字符串、字典、集合)。
  • 不为零的数值。
  • 常数:真

这就是为什么在我们的初始示例中打印的值,因为它的数字值是7 (一个真实值):

内置 bool()函数

您可以使用内置函数检查一个值是还是 布尔() 函数。此函数用于使用标准真值测试程序将值返回或转换为布尔值,即 True 或 False

您只需要将值作为参数传递。

例子:

Python3

bool(7)
# True
  
bool(0)
 #False
    
bool([])
# False
  
bool({7,4})
#True
  
bool(-4)
# True
  
bool(0.0)
# False
  
bool(None)
# False
  
bool(1)
#True
  
bool(range(0))
# False
  
bool(set())
# False
  
bool([1,2,3,4])
# True

输出:

True
False
False
True
True
False
False
True
False
False
True

现在让我们看一个程序来更好地理解 Truthy 和 Falsy 值。

例子:

Python3

# define a function for checking
# number is even or odd
def even_odd(number):
    
  if number % 2: 
      
     # since num % 2 is equal to 1
     # which is Truthy Value
     return 'odd number'
      
  else: 
      
     # since num%2 is equal to 0
     # which is Falsy Value.
     return 'even number'
  
result1 = even_odd(7)
  
# prints odd
print(result1) 
  
result2 = even_odd(4)
  
# prints even
print(result2) 

输出:

odd number
even number

由于在第一个函数调用中 num % 2 等于 1,即值,因此输出为“奇数” ,而在第二个函数调用中,num % 2 等于 0,即值,因此输出为“偶数”。