An open API service indexing awesome lists of open source software.

https://github.com/rickicr-collab/python-estudo

Respositorio focado no estudo do python e seus paradigmas
https://github.com/rickicr-collab/python-estudo

language-python linguagem-python paradigmas paradigms python

Last synced: 2 months ago
JSON representation

Respositorio focado no estudo do python e seus paradigmas

Awesome Lists containing this project

README

        

# Estudo de Paradigmas de Programação - Python

Este repositório contém exemplos e exercícios práticos em Python para estudo de diferentes **paradigmas de programação**. Os paradigmas abordados são:

- **Paradigma Estruturado**
- **Paradigma Orientado a Objetos (OOP)**
- **Paradigma Concorrente**

## Objetivo

O objetivo deste repositório é fornecer uma base de aprendizado com exemplos claros e diretos sobre como aplicar os principais paradigmas de programação utilizando Python. Cada diretório contém exemplos práticos que demonstram conceitos fundamentais dos respectivos paradigmas.

## Estrutura do Repositório

- `estruturado/` - Exemplos de programação no **paradigma estruturado**, que foca em sequências de execução linear, controle de fluxo com laços, condicionais e funções.

- `orientado_a_objetos/` - Exemplos de programação **orientada a objetos (OOP)**, cobrindo conceitos como classes, objetos, herança, polimorfismo, encapsulamento e abstração.

- `concorrente/` - Exemplos de **programação concorrente**, utilizando threads, processamento paralelo com `multiprocessing` e programação assíncrona com `asyncio`.

## Paradigmas de Programação

### Paradigma Estruturado

O paradigma estruturado organiza o código de forma linear e sequencial, utilizando funções e controle explícito de fluxo (como laços e condicionais). Ele não faz uso de objetos ou classes, focando em algoritmos e funções independentes.

**Exemplo**: Algoritmos de ordenação e cálculo de soma de elementos em listas usando apenas funções e estruturas de controle.

### Paradigma Orientado a Objetos (OOP)

No paradigma orientado a objetos, o código é organizado em torno de **objetos** e **classes**. Objetos representam entidades do mundo real e são compostos por atributos (dados) e métodos (ações). OOP promove a reutilização de código e o design modular.

**Exemplo**: Criação de uma classe `Carro`, com atributos como `marca`, `modelo` e métodos como `acelerar()`, `frear()`. O OOP também envolve conceitos como **herança**, **polimorfismo** e **encapsulamento**.

### Paradigma Concorrente

A programação concorrente lida com a execução simultânea de múltiplas tarefas, melhorando o desempenho em cenários de I/O e cálculos paralelizados. O Python oferece várias ferramentas para concorrência, incluindo **threads**, **multiprocessing** e **programação assíncrona** com `asyncio`.

**Exemplo**: Implementação de um sistema que baixa vários arquivos de maneira simultânea, usando threads ou `asyncio` para executar tarefas de forma não bloqueante.

## Como Usar

1. Clone o repositório:
```bash
git clone https://github.com/seu-usuario/nome-do-repositorio.git
cd nome-do-repositorio