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。謝謝! –
您可以將其作爲答案發布。 –