Praticando OOP com Python
Foto de Josué S.
Por: Josué S.
29 de Abril de 2023

Praticando OOP com Python

Una Persona de Class

Programação Orientada a Objetos Python Geral programação orientada a objetos

Que tal resolver mais um problema (se preferir, chame de desafio) envolvendo Python e POO (Programação Orientada a Objetos)?

Se aceitar o desafio, você deve criar uma classe para representar uma pessoa. Para não complicar muito, nós vamos armazenar apenas o nome e sobrenome de um fulano qualquer.

Sua tarefa, então, é implementar uma classe chamada Person com os seguintes métodos:

  • __init__(self, first_name, last_name): este método cria uma instância de Person armazenando first_name em self.first_name e last_name em self.last_name.
  • __str__(self, other): este método calcula a representação string (cadeia de caracteres) de uma pessoa. O formato desta string deve ser o first name seguido de um espaço e last name. Sempre que este método for chamado, queremos que todos os caracteres sejam minúsculos, exceto a primeira letra do first name (deve ser maiúsculo).

 

Exemplos de uso:

person = Person('bruno', 'LopeZ')

print(person)

Resultado: Bruno Lopez

person = Person('aNNa', 'martin')

print(person)

Resultado: Anna Martin

 

Instruções

  • Defina uma classe chamada Person.
  • Defina o método __init__() com três argumentos:
  • self: a referência para a instância da classe.
  • first_name: o primeiro nome da pessoa.
  • last_name: o sobrenome (último) da pessoa.
  • Implemente o método __init__() para armazenar first_name em self.first_name e last_name em self.last_name.
  • Defina um método __str__() com um argumento:
  • self: a referência para a instância da classe.
  • Implemente o método __str__() para que ele retorne uma representação de string dessa pessoa. O formato dessa string deve ser o primeiro nome, seguido de um espaço e, em seguida, o sobrenome. Em cada nome, queremos que todos os caracteres sejam minúsculos, exceto o primeiro que deve ser maiúsculo.

 

Para testar sua solução:

  • Crie uma instância da classe Person usando os argumentos "EmiLia" como first name e "GomEZ" como last name e atribua seu valor para a variável person.
  • Imprima o valor de person. O resultado deve ser a string Emilia Gomez.

 

ATENÇÃO: criei um vídeo conversando com o ChatGPT para resolvermos juntos este desafio e comentando sobre outros aspectos. Tá curioso? Acesse o vídeo clicando neste link.

Josué S.
Josué S.
São Paulo / SP
Responde em 7 h e 51 min
Identidade verificada
1ª hora grátis
5,0
nota média
3
avaliações
R$ 100
por hora
Mestrado: Engenharia de Software (Instituto Nacional de Pesquisas Espaciais)
Aulas de programação, pensamento computacional e gestão de projetos

Confira artigos similares

Aprenda sobre qualquer assunto