如何在 Python 中将 None 转换为 0

在 Python 中将 None 转换为 0

How to convert None to 0 in Python

在 Python 中使用布尔 OR 运算符将 None 转换为 0,例如
result = None or 0. 布尔 OR 运算符如果为真,则返回左边的值,否则返回右边的值。由于None是一个假值,操作将返回0

main.py
some_number = None result = some_number or 0 print(result) # 👉️ 0

如果左边的值是假的,我们使用
布尔值或
运算符返回。
0

所有不真实的值都被认为是虚假的。Python 中的虚假值是:

  • 定义为 falsy 的常量:NoneFalse.
  • 0任何数字类型的(零)
  • 空序列和集合:(""空字符串),()(空元组),[]
    (空列表),
    {}(空字典),set()(空集),range(0)(空范围)。
如果表达式x or y为真,则返回左边的值,否则返回右边的值。

由于None是一个伪值,表达式None or y总是会返回y

请注意,如果是任何其他虚假值,例如空字符串,或空列表、字典或元组,表达式x or y也会返回。y x False

或者,您可以使用if语句检查变量是否存储
None并将其重新分配给0.

main.py
some_number = None if some_number is None: some_number = 0 print(some_number) # 👉️ 0

检查None更明确,只有当变量存储一个值时,该if块才会运行。None

如果变量存储任何其他虚假值,则不会满足条件。

您也可以使用单行if/else语句。

main.py
some_number = None some_number = 0 if some_number is None else some_number print(some_number) # 👉️ 0

如果变量存储None,它被设置为0,否则它被设置为其当前值。

main.py
some_number = 100 some_number = 0 if some_number is None else some_number print(some_number) # 👉️ 100

发表评论