A programação com Python abre muitas possibilidades que vão além de scripts simples. Um componente central na programação orientada a objetos é o trabalho com classes. Elas formam a base para objetos e permitem que você crie e administre estruturas de dados complexas. Neste guia, você aprenderá como definir suas próprias classes em Python para utilizar suas propriedades e métodos de forma eficaz.

Principais descobertas

  • Classes são a chave para a programação orientada a objetos em Python.
  • Um inicializador (construtor) permite que você defina propriedades específicas ao criar uma classe.
  • Métodos em classes permitem que você encapsule funções que operam nas propriedades de um objeto.
  • O acesso às propriedades é feito através do operador ponto.

Guia passo a passo

Vamos começar com os fundamentos da construção de classes em Python. Primeiro, você deve definir uma nova classe com a palavra-chave class. Você pode fazer isso no seu código Python da seguinte forma:

Criar classes próprias em Python

Aqui temos uma classe vazia chamada Funcionário. Você pode defini-la inicialmente sem parâmetros, o que significa que a classe é criada sem uma inicialização específica. Isso é uma base importante para garantir que você não tenha erros ao criar objetos mais tarde.

Agora crie um objeto dessa classe. Para isso, basta usar o nome da classe e colocar um parêntese vazio:

Neste caso, temos um objeto Funcionário que acabamos de criar. O próximo passo é expandir a classe com propriedades. Por exemplo, você poderia adicionar um nome à classe Funcionário.

Primeiro, você precisa definir um inicializador que atuará como o construtor da sua classe. Isso é feito através do método __init__.

Criar classes próprias em Python

Aqui você vê como um construtor __init__ é definido. Passamos o nome como parâmetro e usamos self para armazenar o nome do objeto atual.

Agora que você tem uma propriedade, pode passar diretamente um nome ao criar um objeto:

Criar classes próprias em Python

Se você agora criar o objeto participante com o nome "Jan", o nome será armazenado na instância. Através da autocompletação, você pode verificar se o nome foi definido corretamente.

Para utilizar as propriedades, você pode acessá-las usando o operador ponto:

Criar classes próprias em Python

Esse é o momento em que você pode acessar as propriedades do seu objeto. Neste caso, você imprime o nome do participante.

Além de propriedades, você também pode implementar métodos. Criar um método funciona de maneira semelhante a definir uma função:

Criar classes próprias em Python

Aqui você define o método registrar. Novamente, observe que self é passado automaticamente como um parâmetro para o método, a fim de acessar a instância. Ao registrar, poderíamos, por exemplo, imprimir uma mensagem de sucesso:

Criar classes próprias em Python

Quando você chama o método registrar, parece o seguinte:

Criar classes próprias em Python

Aqui você chama o método na instância participante, que dá um retorno sobre o registro.

Finalmente, também podemos passar parâmetros para métodos, assim como para funções. Por exemplo, um método cancelar que espera um parâmetro para cancelamento antecipado:

Criar classes próprias em Python

Aqui você analisa se o participante deseja desistir antecipadamente e emite uma mensagem correspondente.

ScreenShot_320

Isso mostra como interativa sua classe e métodos podem se tornar e como eles reagem a entradas.

Por fim, devemos recapitular os princípios básicos que aprendemos. A definição de classes consiste em definir atributos e métodos que são relevantes para os objetos correspondentes. O construtor __init__ é central para definir atributos ao criar o objeto.

Resumo – Criando e utilizando suas próprias classes em Python

Compreendendo e aplicando esses princípios básicos, você pode desenvolver programas poderosos e flexíveis em Python. Você pode criar classes que encapsulam funções e propriedades específicas para tornar a programação mais amigável e eficaz.

Perguntas frequentes

Como defino uma classe em Python?Use a palavra-chave class, seguida pelo nome da classe e um dois pontos.

Qual é o propósito do construtor __init__?Ele é usado para realizar inicializações ao criar um objeto.

Como acesso as propriedades de um objeto?Use o operador ponto, seguido pelo nome da propriedade, por exemplo, objeto.propriedade.

Posso passar vários parâmetros para um método?Sim, você pode definir métodos que aceitam vários parâmetros.

Posso usar funções dentro das minhas classes?Sim, métodos nada mais são do que funções que estão vinculadas a uma classe.