Olá,
Não consegui entender a parte do "*não recebeu self como parâmetro."
Em exibe_nome_e_sobrenome(): está com os parametros self.nome, self.sobrenome na função print, então fiqui confuso.
Por gentileza, consegue me esclarecer?
Abs,
Olá,
Não consegui entender a parte do "*não recebeu self como parâmetro."
Em exibe_nome_e_sobrenome(): está com os parametros self.nome, self.sobrenome na função print, então fiqui confuso.
Por gentileza, consegue me esclarecer?
Abs,
Olá Thiago, tudo bem com você?
Quando estamos trabalhando com métodos no Python, e queremos definir que este recebe um ou mais parâmetros, devemos informar os parâmetros dentro dos parênteses que ficam após o nome do método. Seguindo a sintaxe apresentada abaixo.
def nome_do_metodo(parametro_1, parametro_2):No exercício, é apresentado o método exibe_nome_e_sobrenome():
def exibe_nome_e_sobrenome():
print("{0} {1}".format(self.nome, self.sobrenome))Note que entre os parênteses após o nome do método, não foi declarado o parâmetro self. Como o self não foi fornecido dentro dos parênteses, ele não fica disponível para uso dentro do método exibe_nome_e_sobrenome. Assim, quando o usuário declara a função print(), está ocorrendo a tentativa de uso do parâmetro self, mas esse parâmetro não foi declarado no método exibe_nome_e_sobrenome, assim não ficará disponível para uso, gerando erro ao executar o código.
Devemos declarar que este método recebe o parâmetro self, a correção ficará como apresentada abaixo.
def exibe_nome_e_sobrenome(self):
print("{0} {1}".format(self.nome, self.sobrenome))Quando trabalhamos com classe em Python, o primeiro parâmetro de um método por convenção deve ser o parâmetro self, que representa o local de memória onde o objeto foi salvo.
Em resumo temos, para definir que um método recebe um parâmetro devemos declarar o nome do parâmetro entre os parênteses após o nome do método.
Espero ter ajudado. Em caso de dúvidas estou à disposição.
Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Abraços e bons estudos!