在 Python 中将 NoneType 转换为字符串
在 Python 中使用布尔 OR
运算符将 NoneType 转换为字符串,例如 result = None or ""
。 布尔 OR
运算符会将值返回到右侧,因为左侧的值 (None) 是虚假的。
my_var = None
result_1 = my_var or ''
print(result_1) # ?️ ""
result_2 = my_var or 'hello'
print(result_2) # ?️ "hello"
如果左边的值是假的,我们使用布尔值或运算符返回一个字符串。
所有不为真的值都被认为是假的。 Python 中的虚假值是:
- 定义为虚假的常量:None 和 False。
- 任何数字类型的 0(零)
- 空序列和集合:””(空字符串)、()(空元组)、[](空列表)、{}(空字典)、set()(空集)、range(0)(空范围)。
表达式
x or y
如果为真则返回左边的值,否则返回右边的值。
由于 None
是一个假值,表达式 None
或 y 总是会返回 y。
注意
,如果 x 是任何其他虚假值,则表达式x or y
也将返回 y,例如 0,False,或空列表、字典或元组。
或者,我们可以使用 if 语句检查变量是否存储 None 并将其重新分配给字符串。
country = None
if country is None:
country = ""
print(country) # ?️ ""
检查 None 更加明确,并且 if 块仅在变量存储 None 值时才会运行。
如果变量存储任何其他虚假值,则不会满足条件。
我们还可以使用单行 if/else
语句。
country = None
country = "" if country is None else country
print(country) # ?️ ""
如果变量存储 None,则将其设置为空字符串,否则将其设置为当前值。
country = 'Germany'
country = "" if country is None else country
print(country) # ?️ "Germany"
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。