7. Classes e Objetos em Python

As classes e objetos são os dois principais aspectos da programação orientada a objetos. Uma classe é um modelo para a criação de objetos (uma instância particular de uma classe), e um objeto é uma instância de uma classe.

7.1 O que é uma Classe?

Uma classe é um protótipo para a criação de objetos em Python. É uma estrutura lógica que tem alguns atributos e métodos definidos. Uma classe é definida usando a palavra-chave class.

class MyClass:
  x = 5

Neste exemplo, criamos uma classe chamada MyClass, que tem um atributo chamado x com o valor 5.

7.2 O que é um Objeto?

Um objeto é uma instância de uma classe. Quando uma classe é definida, apenas a descrição do objeto é definida. Portanto, nenhum espaço de memória é alocado. A criação de um objeto é feita usando a função constructor da classe. Este método é chamado quando um objeto é criado a partir de uma classe e permite que a classe inicialize os atributos do objeto.

p1 = MyClass()
print(p1.x)

Neste exemplo, p1 é um objeto da classe MyClass que tem um atributo chamado x.

7.3 A função __init__()

Em Python, a função __init__() é o método construtor que é chamado quando um objeto é criado a partir de uma classe. Este método é útil para fazer qualquer inicialização que você queira fazer com o seu objeto. Quando você cria um método __init__(), você está dizendo ao Python que quando um objeto é criado a partir desta classe, o objeto deve ser inicializado com os valores especificados.

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

Neste exemplo, Person é uma classe com a função __init__() que toma dois argumentos, e cria atributos para o nome e a idade.

7.4 Métodos de Objetos

Os objetos também podem conter métodos. Os métodos em objetos são funções que pertencem ao objeto.

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("John", 36)
p1.myfunc()

Neste exemplo, nós definimos um método na classe Person chamado myfunc que imprime uma linha de texto.

7.5 O parâmetro self

O parâmetro self é uma referência à instância atual da classe e é usado para acessar variáveis que pertencem à classe. Ele não precisa ser nomeado self , você pode chamá-lo como quiser, mas tem que ser o primeiro parâmetro de qualquer função na classe.

7.6 Modificando Objetos

Você pode modificar propriedades em objetos como este:

p1.age = 40

Ou você pode deletar propriedades do objeto:

del p1.age

Você também pode deletar objetos:

del p1

Esses são os conceitos básicos de classes e objetos em Python. Eles são fundamentais para a programação orientada a objetos em Python e, quando combinados com outros conceitos como herança e polimorfismo, fornecem uma maneira poderosa de estruturar seu código.

Agora responda o exercício sobre o conteúdo:

O que é uma classe em Python?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Classes e objetos em Python: Introdução a classes e objetos

Próxima página do Ebook Gratuito:

37Classes e objetos em Python: Introdução a classes e objetos

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto