Olá Matheus, tudo bem com você?
Esse erro que está sendo apresentado, está informando que ocorreu a tentativa de acesso a um método que não existe na classe TelefonesBr
, neste caso o método format_numero
.
Peço que confirme se o método format_numero
está definido na classe TelefonesBr
. Também que verifique a indentação (espaçamento) do método format_numero
se ele está dentro da classe TelefonesBr
.
O código da classe TelefonesBr
, deve está conforme apresentado abaixo:
import re
class TelefonesBr:
def __init__(self,telefone):
if self.valida_telefone(telefone):
self.numero = telefone
else:
raise ValueError("Número incorreto!")
def __str__(self):
return self.format_numero()
def valida_telefone(self,telefone):
padrao = "([0-9]{2,3})?([0-9]{2})([0-9]{4,5})([0-9]{4})"
resposta = re.findall(padrao,telefone)
if resposta:
return True
else:
return False
def format_numero(self):
padrao = "([0-9]{2,3})?([0-9]{2})([0-9]{4,5})([0-9]{4})"
resposta = re.search(padrao,self.numero)
numero_formatado = "+{}({}){}-{}".format(
resposta.group(1),
resposta.group(2),
resposta.group(3),
resposta.group(4)
)
return numero_formatado
Caso os pontos apresentados acima estejam corretos, peço que você poste o código completo em formato textual, para que eu possa te ajudar de forma mais precisa. Basta copiar o código, colá-lo na resposta desta postagem e enviar a postagem.
Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!