Livro Trilhas Python, pág. 32:
"Ou seja, o operador * , na definição de argumentos da função, converte o quer for passado posteriormente em uma lista com esses elementos. Por esse motivo, podemos usar a operação for arg in args: "
Então o argumento passado para a função é convertido em uma lista, porém quando eu faço:
def teste(*args):
print(type(args))
lista = [1, 2, 3]
teste(lista)
Retorna o seguinte resultado:
<class 'tuple'>
Logo está retornando o tipo tuple e não list. Percebi isso pois para somar uma lista bastava fazer função sum(lista), mas retorna um erro, já que o argumento não é uma list