python - 避免 0 和其他算作 False

标签 python

在 Python 中,有几个值被视为 False:

>>> if False or None or 0 or 0.0 or '' or [] or {} or set():
...   print 'True :)'
... else:
...   print 'False :('
... 
False :(

所以,在我的代码中某处,我正在做这样的事情:

    some_var = other_var or 'default' # Some default value

other_var可以是None或者其他任何值,如果是Nonesome_var应该填'默认'

但我一直遇到一些麻烦,所以,调试我的代码时,我发现 other_var 有时是 0(或任何其他算作 的值False),并且 some_var 填充了 'default' 而不是 0

那么,有没有一种方法可以完成我正在尝试的事情而不是这样做?

if other_var is None:
    some_var = 'default'
else:
    some_var = other_var

是一个有效的答案。

最佳答案

Conditional Expression (又名“三元运算符”)语法:

some_var = 'default' if other_var is None else other_var

快乐编码。

关于python - 避免 0 和其他算作 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423957/

相关文章:

python - pip : command in environment . yaml 文件的含义是什么?

python - 如何使用 strptime 解析 str(my_datetime)?

python - QDial 禁用完整游览

python - 在 Python 中拆分元组 - 最佳实践?

Python,如何实现类似 .gitignore 的行为

python - 如何从 BLE 服务器清除已注册的广告?

c++ - 仅将类的一个方法移植到 C?

python - 为什么 nginx 没有启动我的服务?

python - 使用 Python 在 Windows 上获取目录所有权会导致 "Access denied"错误

python - BigQuery : Jobs resource are 200 OK and "outputRows": 584, 但数据不在 BigQuery 表中