Python Tutorial - Classe
Vamos falar sobre o básico da programação Python orientada a objetos (OOP) como classe, objeto nesta seção.
Python é uma linguagem de programação orientada a objetos, em outras palavras, tudo em Python é um objeto.
Introdução à OOP
O conceito básico da Programação Orientada a Objectos (OOP) consiste nas seguintes terminologias:
- Classes
- Membros dos dados
- Métodos
- Objetos
- Construtores
- Sobrecarga do método
- Sobrecarga do operador
- Herança
- Instâncias de Classe e Instanciação
Classes e objetos Python
Uma classe pode ser pensada como um esboço para um objeto enquanto, um objeto é uma coleção de membros de dados e a função de membro.
Uma classe contém membros de dados (variáveis) e funções de membros (métodos) que podem ser acessados usando os objetos dessa classe.
Criar uma classe
Uma classe é criada utilizando a palavra-chave class
e depois o nome da classe:
A sintaxe é a seguinte:
class NameofClass:
# data members of the class
# member functions of the class
Exemplo:
>>> class Waiter:
name = "Andrew"
def display():
print('Waiter Class')
>>> print(Waiter.display)
<function Waiter.display at 0x0359E270>
>>> print(Waiter.name)
Andrew
Este exemplo cria uma classe chamada Waiter
que contém um membro de dados nome
e um método de membro display()
.
Cria uma instância de objeto de uma classe
Uma instância de objeto pode ser criada usando a seguinte sintaxe:
obj = className()
Exemplo:
>>> w = Waiter()
>>> print(w.name)
Andrew
>>> w.display()
Waiter Class
Você pode ver aqui que o objeto da classe Waiter
é utilizado para acessar os membros (atributos) da classe, utilizando o operador de pontos.
Atributos da classe
Juntamente com os membros de dados e funções de membros, há alguns atributos embutidos de uma classe Python.
__dict__
: é um dicionário que contém o namespace da classe.__doc__
: é a string de documentação da classe__name__
: é o nome da classe__module__
: é o módulo no qual a classe é definida.__bases__
: é um tuple que contém a classe base.
Estes atributos podem ser acessados utilizando o operador de pontos.
Exemplo:
>>> class Waiter:
"This is a waiter class"
name="Andrew"
def display():
print("You are in waiter class")
>>> w = Waiter()
>>> print(w.__doc__)
This is a waiter class
>>> print(w.__dict__)
{}
>>> print(w.__module__)
__main__
Construtores de Classe Python
Um construtor em Python OOP é criado utilizando __init__()
. Este método incorporado é um método especial chamado quando um objeto da classe correspondente é criado.
Construtores são utilizados para inicializar os membros de dados da classe.
>>> class Waiter:
def __init__(self, n):
self.name=n
self.age=20
def display(self):
print(self.name)
>>> w=Waiter('Rob')
>>> w.display()
Rob
Aqui, o argumento self
é utilizado na definição do construtor e também em todos os métodos de classe. Portanto, quando você chama uma função como w.display()
, ela é interpretada como Waiter.display(w)
.
Apagar atributos da classe
Você pode utilizar a instrução del
para excluir os atributos e objetos de uma classe.
>>> w=Waiter('Rob')
>>> w.__dict__
{'name': 'Rob', 'age': 20}
>>> del w.age
>>> w.__dict__
{'name': 'Rob'}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook