Estilo correto para funções Python que modificam o argumento
Gostaria de escrever uma função Python que modifique um dos argumentos (que é uma lista, ou seja, mutável). Algo assim:
def change(array):
array.append(4)
change(array)
Estou mais familiarizado com a passagem por valor do que a configuração do Python (como você decidir chamá-lo). Então, eu normalmente escreveria uma função como esta:
def change(array):
array.append(4)
return array
array = change(array)
Aqui está a minha confusão. Desde que eu posso apenas mudar o argumento, o segundo método pareceria redundante. Mas o primeiroparece errado. Além disso, minha função específica terá vários parâmetros, apenas um dos quais será alterado. O segundo método deixa claro que argumento está sendo alterado (porque está atribuído à variável). O primeiro método não dá indicação. Existe uma convenção? Qual é melhor'? Obrigado.