我想要做一个函数的一些列表修改,然后继续调用该函数,这是更好的方法来做到这一点后,使用修改后的列表:我应该明确地从函数返回列表吗?
def modify(alist):
alist.append(4)
alist = [1,2,3]
modify(alist)
alist.append(5)
或者这样:
def modify(alist):
alist.append(4)
return alist
alist = [1,2,3]
alist = modify(alist)
alist.append(5)
是第一种坏音吗?
取决于您的“更好”的标准以及如何确定代码的“语调”。 –
不,第一个很好 - Python函数改变可变参数的状态,通常是'返回None'(显式或隐式) - *就像'.append'本身!* – jonrsharpe
类似于http://stackoverflow.com/问题/ 26027694 /正确的样式为python-functions-that-mutate-the-argument – Deca