在 Python 中将 NoneType 转换为整数

在 Python 中将 NoneType 转换为整数

Convert NoneType to an Integer in Python

使用布尔 OR 运算符将 NoneType 转换为 Python 中的整数,例如
result = None or 0. 布尔 OR 运算符会将值返回到右侧,因为左侧 ( None) 的值是假的。

主程序
my_var = None result_1 = my_var or 0 print(result_1) # 👉️ 0 result_2 = my_var or 100 print(result_2) # 👉️ 100

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

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

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

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

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

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

主程序
my_var = None if my_var is None: my_var = 0 print(my_var) # 👉️ 0

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

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

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

主程序
my_var = None my_var = 0 if my_var is None else my_var print(my_var) # 👉️ 0

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

主程序
my_var = 123 my_var = 0 if my_var is None else my_var print(my_var) # 👉️ 123

发表评论