通过查看Python-Dev和StackOverflow,Python的三元运算符等效语法为:
a if condition else b
通过查看PEP-572和StackOverflow,我了解了什么是海象运算符:
:=
现在我正在尝试将“海象运算符的赋值”和“三元运算符的条件检查”合并到一个语句中,类似于:
other_func(a) if (a := some_func(some_input)) else b
例如,请考虑以下代码片段:
do_something(list_of_roles) if list_of_roles := get_role_list(username) else "Role list is [] empty"
我无法理解语法。尝试了各种组合,每次解释器都会抛出SyntaxError: invalid syntax
。我的Python版本是3.8.3。
我的问题是如何在三元运算符中嵌入海象运算符的正确语法?