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.

questionAnswers(3)

yourAnswerToTheQuestion