Nas duas últimas aulas de instrução foram apresentados os conteúdos de programação funcional, arquivos e tratamento de exceções. São paradigmas de muita importância, além de muito utilizados em aplicações profissionais, trazendo benefícios no desenvolvimento e robustez no código.
Programação Funcional
A Programação Funcional é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas. Em Python, a programação funcional permite resolver problemas de maneira expressiva, o que reduz o uso de variáveis temporárias e facilitando a legibilidade do código.
Conceitos importantes:
- Imutabilidade: Evitar mudanças de estado (modificação de variáveis).
- Funções Puras: Funções que produzem o mesmo resultado para os mesmos argumentos, sem efeitos colaterais.
- Funções de Ordem Superior: Funções que recebem outras funções como parâmetros ou retornam funções.
Funções mais utilizadas:
Funções lambda são funções anônimas que facilitam a criação de funções pequenas e rápidas. Elas seguem o formato:lambda argumentos: expressão
Funções de ordem superior são funções que recebem outras
funções como argumentos ou as retornam como resultados. Exemplos em Python incluem map, filter e reduce.
Descrição:
- map(). Aplica uma função a cada elemento de uma coleção, retornando uma nova coleção com os resultados.
- filter(). Filtra elementos de uma coleção com base em uma condição, retornando apenas os elementos que satisfaçam a condição.
- reduce(). Reduz uma coleção a um único valor acumulado. reduce é importado da biblioteca functools.
Comprehensions: permitem criar coleções de forma concisa e expressiva, que são: list comprehension, dictionary comprehension e set comprehension.
List Comprehension
• É uma maneira concisa de criar listas, aplicando uma operação em elementos de um iterável (como uma lista, tupla ou range) e opcionalmente filtrando elementos com uma condição.
Dictionary Comprehension
• É uma forma de criar dicionários de forma concisa, aplicando uma transformação a chaves e valores de um iterável.
Set Comprehension
• É uma forma de criar conjuntos de forma concisa, aplicando uma transformação a elementos de um iterável. O resultado é um conjunto, que, por definição, não tem elementos duplicados.
Decorators permitem modificar o comportamento de uma
função ou método sem alterar seu código.
Conforme os conceitos demonstrados concluí-se que Integrar Programação Funcional e Orientação a Objetos em Python permite criar código modular, reutilizável e altamente expressivo.
Enquanto a Orientação a Objetos organiza o código em classes e objetos, a Programação Funcional permite operar diretamente sobre
esses objetos com funções de ordem superior, decorators, comprehensions e geradores, adicionando clareza e concisão.
Arquivos
Em Python, podemos gerenciar dados usando:
- Arquivos de texto: para armazenamento simples, leitura e escrita de dados.
- Arquivos CSV: usados para dados tabulares.
- Arquivos JSON: ideais para dados estruturados e troca de informações entre sistemas.
- Serialização com pickle: usada para salvar o estado completo de objetos Python.
O Python oferece uma interface muito poderosa para abrir, ler, escrever e manipular esses tipos de arquivos, permitindo o armazenamento e recuperação de dados de forma eficiente.
Tratamento de exceções
Exceções representam condições inesperadas ou erros que ocorrem durante a execução de um programa, como divisões por zero, variáveis não definidas, ou erros de leitura de arquivos.
- O tratamento de exceção é importante por diversos fatores como: Prevenir que o programa encerre abruptamente devido a um erro.
- Capturar e lidar com erros de maneira apropriada.
- Fornecer feedback ao usuário sobre a causa do erro.
O tratamento de exceções em Python usa quatro palavras chave principais:
- try: Envolve o código que pode causar uma exceção.
- except: Captura e trata uma exceção específica.
- else: Executa um bloco de código se nenhuma exceção ocorreu.
- finally: Executa um bloco de código independentemente de uma exceção ter ocorrido ou não.
Assim como em outras linguagens, Python também permite criar uma exceção personalizada, bastando criar uma nova classe que herda de Exception.
Exceções personalizadas são úteis para capturar e sinalizar erros específicos de contexto, como erros em uma aplicação de banco.
Em Orientação a Objetos (OO), as exceções também são objetos.
Cada exceção em Python é uma instância de uma classe que herda de BaseException, permitindo que as exceções sejam tratadas de maneira flexível e extensível.


Comentários
Postar um comentário