Python: lst[(lst.index("search-term"))] = 函数体中的文章与 return

Python: lst[(lst.index("search-term"))] = article in function body vs. return

Python 3.7:

为什么下面的代码可以运行(关注函数):

shelf = ["Zaubersäge", "leer", "Wunderkekse", "Trickarten", "leer"]

def add_shelf(article):
    shelf[(shelf.index("leer"))] = article
    return

add_shelf("Rubik's Cube")
print(shelf)

但不是这个:

shelf = ["Zaubersäge", "leer", "Wunderkekse", "Trickarten", "leer"]

def add_shelf(article):
    return (shelf[(shelf.index("leer"))] = article)

add_shelf("Rubik's Cube")
print(shelf)

您不能在 return 语句中赋值。例如,return foo = 1 无效。我认为一般来说你不能把一个声明放在一个声明中,但这不是重点。

你期待会发生什么?