Em quais cenários é melhor optar por criação de uma classe ou de módulos? No exemplo da aula se criou um classe.
Em quais cenários é melhor optar por criação de uma classe ou de módulos? No exemplo da aula se criou um classe.
Olá Isabela, tudo bem com você?
Peço desculpas pela demora no retorno.
Quando estamos trabalhando com a orientação a objeto (OO) o uso das classes será aplicado quando possuímos uma estrutura de dados específica e queremos aplicar métodos específicos a esses dados. Devemos optar pela criação das classes caso tenhamos múltiplas estruturas de dados.
Como por exemplo, temos as seguintes estruturas de dados CPF, CNPJ e CEP onde cada estrutura possuirá seus métodos próprios de validação e de trabalho. Como no código de exemplo abaixo, onde cada estrutura de dados possui seus métodos próprios.
class CPF:
def __init__(self, cpf):
self.cpf = cpf
def valida_cpf(self):
pass
class CNPJ:
def __init__(self, cnpj):
self.cnpj = cnpj
def valida_cnpf(self):
pass
Um módulo ou biblioteca em Python será um arquivo que pode possuir um conjunto de classes, esse módulo deverá possuir classes que trabalham com um objetivo macro em comum, no exemplo acima, podemos criar um módulo de nome documento.py já que todas as classes presentes nesse módulo trabalharão com documentos.
Quando trabalhamos com bibliotecas externas do Python, temos como um dos objetivos otimizar o uso do nosso código, seguindo o exemplo apresentado no código acima, a validação dos dados pode ser realizada através do uso da biblioteca validate-docbr
, assim não será necessário a criação de toda a lógica de validação de um CPF ou de um CNPJ, essa lógica será importada da biblioteca.
Em resumo temos que, classes serão utilizadas quando temos múltiplas estruturas de dados com métodos próprios, módulos serão utilizados com o objetivo de otimizar e organizar nossos códigos, reduzindo a necessidade de escrevermos a mesma lógica de operação várias vezes.
Para aprimorar ainda mais o seu conhecimento sobre as classe no Python, recomendo a leitura do seguinte artigo, que aborda sobre os pontos positivos e negativos do uso das classes.
Para aprender um pouco mais sobre o uso de módulos em Python na validação de dados, recomendo o seguinte curso da Alura, que irá abordar a criação de um projeto para a validação de CPF e CNPJ com o uso da biblioteca validate-docbr
.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.