Nesta aula, tive a oportunidade de aprofundar os conceitos de Programação Orientada a Objetos, entendendo melhor seus pilares como encapsulamento, herança e polimorfismo, e como esses princípios ajudam a modelar sistemas que refletem o mundo real de forma mais organizada e modular.
Também vimos os fundamentos da Programação Funcional, como a ideia de imutabilidade, funções puras e o uso de funções de alto nível como map, reduce e filter. Entendi como esse paradigma pode ser útil principalmente no processamento de dados e na construção de pipelines mais claros e funcionais.
Foi interessante perceber como é possível combinar Programação Orientada a Objetos e Programação Funcional em um mesmo projeto, usando cada abordagem de forma estratégica de acordo com a necessidade.
Outro ponto importante foi a criação de pacotes Python usando o setup.py, o que facilita a organização do código e a reutilização em outros projetos. Também discutimos a estruturação de projetos com a separação por módulos, a importância do arquivo init.py e como isso contribui para a escalabilidade e manutenção do projeto.
Por fim, falamos sobre as diferenças entre trabalhar com o Google Colab e o VSCode, entendendo as vantagens e limitações de cada ambiente para diferentes situações de desenvolvimento.