首页 > 解决方案 > 是否可以在 python 中声明用户定义的语句(与 assert 的语法相同)?

问题描述

例如,断言的作用:

assert <boolean assertion to check>, <error string/value outputted if that assertion False>

我想做的事:

mycommand <boolean assertion to check>, <value that will get returned if assertion is False>

这与执行以下操作相同:

if not <boolean assertion to check>: return <value>

但简而言之,用一个简单的单行。我知道我应该只使用最后一个,但我更感兴趣的是找出可以覆盖/自定义 python 的程度。

标签: pythonoverridingstatementsuser-defined

解决方案


如果您正在寻找单表达式if语句(而不是如果为假则导致失败的断言),请执行以下操作:

<value> if <boolean assertion to check> else <another value>

如果你没有任何东西 <another value>,那就让它成为 Pythonic None

x = 3 if 10<5 else None给出xNone

x = 3 if 10>5 else None给出x3


推荐阅读