• Conceitos de P.O.O

Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Declarar atribuito
  2. Acessar/alterar atributo
  3. Atributo estático
  4. Uso do self

Para definição de atributos que irão guardar informações em nossos objetos, utilizamos os tipos de dados disponíveis pela linguagem Python e também objetos não-nativos.

Sintaxe
class nome_classe:
    nome_atributo = valor
Onde
nome_atributo: Nome do atributo da classe.
valor: valor inicial
Exemplo 1
class classe:
   atributo1 = 0
   
obj = classe() #instancia de classe
Saída
-

O encapsulamento de atributos e métodos de nossas classes é feito utilizando o underline(_) como prefixo no nome do atributo de acordo com a tabela de acesso abaixo:

Tab. 1: Encapsulamento
public private protected
atributo __atributo _atributo

Os atributos public são acessados em qualquer classe, os atributos private são acessados apenas na própria classe. O atributo protected será melhor compreendido quando estivermos estudando o tópico sobre Python: Herança.

Exemplo 3
class classe:
    def __init__(): #construtor
        self.atributo1 = 1   #public
        self._atributo2 = 2  #protected
        self.__atributo3 = 3 #private
        
obj = classe() #classe
Saída
-

O método construtor __init__ e self são utilizados para aplicarmos o encapsulamento nos atributos. Mais sobre métodos será visto em Python: Método.

O acesso aos atributos é feitas utilizando o operador de acesso a membros (.). A atribuição é feita utilizando o operador de atribuição (=) já estudado.

Sintaxe
nome_objeto.nome_atributo

nome_objeto.nome_atributo = valor
Onde
-
Exemplo 4
class classe:
   atributo3 = 0
   
obj = classe() #classe
obj.atributo3 = 999
print(obj.atributo3)
Saída
999

Em Python, atributos criados em classes são considerador estáticos. Esses irão existir independente de um objeto ser instanciado ou não. Independente de quantos objetos instanciados, todos terão o mesmo atributo estático compartilhado.

Sintaxe
nome_atributo = valor
Exemplo 5
class classe:
   atributo3 = 0
   
obj = classe() # instância 1
obj.atributo3 = 999
print(obj.atributo3)

obj2 = classe() # instância 2
print(obj.atributo3)
Saída
999
999

O self é uma palavra reservada da linguagem Python que diz que estamos fazendo referência à própria classe. Dessa forma é possível distinguir de qual classe os recursos estamos utilizando. O self será melhor compreendido com a utilização de Python: Herança.

Sintaxe
self.atributo
Exemplo 2
class classe:
   atributo = 999
   
   def metodo(self):
        atributo = 888; #variavel local
        print(self.atributo) #atributo da classe
        
obj = classe() #classe
obj.metodo()
Saída
999
  1. 12/09/2025 - revisão 2 - Ajustes: pontuais, target de links internos, sintaxes e objetivos
  2. 19/09/2024 - revisão 1 - Correção em saída Ex. 1, númeração de exemplos, descrição 'Usando self'; ajustes gramaticas
  3. 19/02/2024 - versão inicial