我非常熟悉 Python 中三元运算符的用法:
value = foo if something else bar
我的问题很简单:在没有先前赋值的情况下,是否有方法可以从一个返回操作数(if ...
或else ...
)中引用正在评估的项?
这里的动机是有时我在if ...
表达式中使用的正是我想要作为三元运算结果的东西。然而对于小表达式来说重复它并没有问题,但对于更长的表达式来说,它会变得有些麻烦。以这个为例:
value = info.findNext("b") if info.findNext("b") else "Oompa Loompa"
findNext
不是我编写的函数;这是来自BeautifulSoup
解析器 API。 - Rubens