在 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 的常量:
None
和False
. 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