有没有办法像 python 中那样组合 if & 语句?

Fly*_*_37 2 python

我一直想知道是否可以以某种方式将“if”和“as”语句结合起来,如下所示:

if possible_error() as error:
  return error
Run Code Online (Sandbox Code Playgroud)

代替

error = possible_error()
if error:
  return error
Run Code Online (Sandbox Code Playgroud)

其中“possible_error”函数返回空字符串或错误消息。通过这样做,我可以节省一行代码。

我知道一些妥协是运行这个函数两次:

if possible_error():
  return possible_error()
Run Code Online (Sandbox Code Playgroud)

但我宁愿避免这样做。

Tim*_*rts 6

这就是相对较新的“walrus”运算符的用途:

if (error := possible_error()):
    return error
Run Code Online (Sandbox Code Playgroud)