5
我知道Python的三元运算符:评估变量赋值
result = a if b else c
但如果什么和b是一回事吗?让我来举例说明吧:
tasks = ["foo", "bar"]
def tasksLeft():
return tasks
tasks.remove('foo')
my_tasks = tasksLeft() if tasksLeft() else 'no tasks left'
在第一次尝试,tasksLeft()将评估为真,那么三元运算符将评估为["bar",]
。
tasks.remove('bar')
my_tasks = tasksLeft() if tasksLeft() else 'no tasks left'
在第二次尝试,tasksLeft()将评估为False([]
),因此它会评估为默认字符串。
我假设的代码将是:
if not my_tasks = tasksLeft():
my_tasks = 'no tasks left'
的一点是,刚分配的价值进行评估,并且如果是假的,然后分配一个不同的值。
很明显,这只是我刚才提出的一个例子,我知道它在语法上不正确,但是有没有一种不太重复的写法呢?
'my_tasks = tasksLeft ()或'没有任务离开' – vaultah
啊,你是对的,我没有想到@vaultah。谢谢! –
您可以将其作为答案发布。 –