Sobre os parâmetros adicionados no def init(self, nome, .......) Quantos parâmetros podemos adicionar nesse local e se é possível adicionar uma lista e/ou uma matriz?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Sobre os parâmetros adicionados no def init(self, nome, .......) Quantos parâmetros podemos adicionar nesse local e se é possível adicionar uma lista e/ou uma matriz?
Oi Nathan, boa noite! Você pode adicionar quantos parâmetros quiser. Se você não sabe ao certo quanto parâmetros vai receber em cada chamada do __init__, você pode utilizar o asterisco como prefixo do parâmetro que o Python vai entender que você vai passar alguns parâmetros, mas não sabe ao certo quantos. Por convenção, chamamos este parâmetro de args.
Veja um teste em uma função comum:
def teste(param1, *args):
print('primeiro argumento: ', param1)
for arg in args:
print('outro argumento: ', arg)
Ao chamar a função:
>>> teste('python', 'é', 'muito', 'legal')
gera a saída:
primeiro argumento: python
outro argumento: é
outro argumento: muito
outro argumento: legal
Você também pode passar uma lista ou tupla:
>>> lista = [1, 2, 3]
>>> teste(*lista)
1
2
3
Depois procure pelo **kwarg, com dois asteriscos (**) podemos passar argumentos nomeados como dicionários.
Espero ter ajudado e bons estudos!