Classes e Objetos em Python

Classe/Objeto Python

Python é uma linguagem de programação orientada a objetos.

Praticamente tudo em Python é um objeto, que possui propriedades e métodos.

A classe (Class) é semelhante a um construtor de objeto ou um "esquema" para criar objetos.

Criar classe

Para criar uma classe, use class Palavra-chave:

Exemplo

Criar uma classe chamada MyClass usando a propriedade x:

class MyClass:
  x = 5

Executar Exemplo

Criar objeto

Agora podemos usar a classe chamada myClass para criar objetos:

Exemplo

Criar um objeto chamado p1 e imprimir o valor de x:

p1 = MyClass()
print(p1.x)

Executar Exemplo

Função __init__().

O exemplo acima é a forma mais simples de classe e objeto, que não é realmente útil em aplicações práticas.

Para entender o significado da classe, devemos primeiro entender os __init__() Função.

Todas as classes têm uma função chamada __init__(), que é executada sempre que a classe é iniciada.

Atribuir valores às propriedades do objeto usando a função __init__() ou executar outras operações necessárias ao criar o objeto:

Exemplo

Criar uma classe chamada Person, usando a função __init__() para atribuir valores a name e age:

class Pessoa:
  def __init__(self, name, age):
    self.name = name
    self.age = age
p1 = Pessoa("Bill", 63)
print(p1.name)
print(p1.age)

Executar Exemplo

Comentário:Cada vez que um novo objeto é criado usando a classe,Chamada automaticamente Função __init__().

Métodos de objeto

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

Vamos criar um método na classe Person:

Exemplo

Inserir uma função para imprimir uma saudação e executá-la no objeto p1:

class Pessoa:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def myfunc(self):
    print("Olá, meu nome é " + self.name)
p1 = Pessoa("Bill", 63)
p1.myfunc()

Executar Exemplo

Dica:A variável self é uma referência para a instância atual da classe, usada para acessar as variáveis que pertencem à classe.

Parâmetro self

self O parâmetro é uma referência para a instância atual da classe, usada para acessar variáveis que pertencem à classe.

Ele não precisa ser nomeado self, você pode chamá-lo livremente, mas ele deve ser qualquer funçãoPrimeiro parâmetro:

Exemplo

Use as palavras mysillyobject e abc em vez de self:

class Pessoa:
  def __init__(mysillyobject, nome, idade):
    mysillyobject.nome = nome
    mysillyobject.idade = idade
  def myfunc(abc):
    print("Hello my name is " + abc.name)
p1 = Pessoa("Bill", 63)
p1.myfunc()

Executar Exemplo

Modificar atributo do objeto

Você pode modificar os atributos do objeto assim:

Exemplo

Definir a idade de p1 como 40:

p1.idade = 40

Executar Exemplo

Deletar propriedade do objeto

Você pode usar del Palavra-chave para deletar propriedade do objeto:

Exemplo

Apagar a propriedade idade do objeto p1:

del p1.idade

Executar Exemplo

Deletar objeto

Usar del Palavra-chave para deletar objeto:

Exemplo

Apagar objeto p1:

del p1

Executar Exemplo

Instrução pass

A definição da classe não pode estar vazia, mas se você por algum motivo escrever uma definição de classe sem conteúdo, use a instrução pass para evitar erros.

Exemplo

class Pessoa:
  pass

Executar Exemplo