python ||备份声明

标签 python variables

在 Javascript 中,我可以像这样分配一个值:

var i = p || 4

显然,如果 p 未定义,它将使用 4。在 Python 中是否有比 try:/except: 组合更优雅的版本?

try:
    i = p
except:
    i = 4

最佳答案

人们有时会使用 Python 的 or-operator为此目的:

def f(p=None):
    i = p or 4
    ...

依赖于 or 运算符的“Python 独有”方面来返回使表达式为真的值(而不是仅仅返回 True 或 False)。

另一个提供更大灵 active 的选项是使用 conditional expression :

def f(p=None):
    i = p if p is not None else 4
    ...

如果您只想检查一个变量是否已经定义,try/except 是最干净的方法:

try:
    i = p
except NameError:
    pass

话虽如此,这对于 Python 来说是不典型的,并且可能暗示程序设计存在问题。

最好将变量简单地初始化为占位符值,例如 None。在这方面,Python 的风格与 Javascript 有所不同。

关于 python ||备份声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7869861/

相关文章:

python - Flask 'in app' 重定向又名转发

python - 在 Python 中处理 Facebook 取消授权回调

ruby - 在 Ruby 中将数组元素(字符串)设置为变量名

javascript - undefined variable 的问题

python - 为什么在全局范围而不是封闭范围中查找未初始化的类变量?

python - 使用 flask-wtf 和 flask-bootstrap 时如何将 html 属性传递给 wtf.form_field

python - 优化非丰度求和算法

python - 如何使用python通过标签和嵌套标签从xml文件动态获取数据?

regex - 如何在 R 中分配变量?

amazon-web-services - Terraform - 为变量指定多个可能的值