# \[Trilha Python\] argumentos args e kwargs

**URL:** <https://forum.casadocodigo.com.br/t/trilha-python-argumentos-args-e-kwargs/1298>\
**Category:** Livros\
**Tags:** python\
**Created:** [Janeiro 18, 2019, 5:08pm UTC](https://forum.casadocodigo.com.br/t/trilha-python-argumentos-args-e-kwargs/1298 "2019-01-18T17:08:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![slopes.ricardo](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@slopes.ricardo](https://forum.casadocodigo.com.br/u/slopes.ricardo)\
**Post date:** [Janeiro 18, 2019, 5:08pm UTC](https://forum.casadocodigo.com.br/t/trilha-python-argumentos-args-e-kwargs/1298/1 "2019-01-18T17:08:02Z")

</div>

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:

```auto
def teste(*args):
    print(type(args))

lista = [1, 2, 3]

teste(lista)

```

Retorna o seguinte resultado:

```auto
<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
