domingo, 22 de dezembro de 2019

Introdução ao módulo re para regex

O módulo re permite trabalhar com expressões regulares para buscar, extrair e substituir padrões em strings.


Exemplo:


python
Copy
import re

texto = "Python é incrível! Aprenda Python hoje."
resultado = re.findall("Python", texto)

print(resultado)


Saída:


Copy
['Python', 'Python']

domingo, 15 de dezembro de 2019

Executando múltiplas tarefas com asyncio

Com asyncio.gather, você pode executar várias tarefas assíncronas simultaneamente.


Exemplo:


python
Copy
import asyncio

async def tarefa(nome, tempo):
    await asyncio.sleep(tempo)
    print(f"Tarefa {nome} concluída")

async def main():
    await asyncio.gather(
        tarefa("A", 2),
        tarefa("B", 1),
        tarefa("C", 3)
    )

asyncio.run(main())

segunda-feira, 11 de novembro de 2019

Introdução ao asyncio: programação assíncrona em Python

O asyncio é um módulo para escrever código assíncrono usando async e await. Ele é perfeito para operações de I/O que podem ser bloqueantes, como chamadas de rede.


Exemplo:


python
Copy
import asyncio

async def saudacao():
    print("Olá")
    await asyncio.sleep(1)
    print("Mundo")

asyncio.run(saudacao())

quarta-feira, 2 de outubro de 2019

Threading em Python: concorrência simplificada

O módulo threading é usado para executar tarefas concorrentes, mas em um único núcleo da CPU. É útil para operações de I/O, como leitura de arquivos ou requisições HTTP.


Exemplo:


python
Copy
import threading

def imprimir_numeros():
    for i in range(5):
        print(i)

thread = threading.Thread(target=imprimir_numeros)
thread.start()
thread.join()

quarta-feira, 7 de agosto de 2019

Multiprocessamento em Python: paralelismo real

O módulo multiprocessing permite executar tarefas em paralelo, aproveitando múltiplos núcleos da CPU. É ideal para tarefas intensivas em computação.


Exemplo:


python
Copy
from multiprocessing import Process

def imprimir_numeros():
    for i in range(5):
        print(i)

processo = Process(target=imprimir_numeros)
processo.start()
processo.join()

terça-feira, 9 de julho de 2019

Utilizando Counter para contagens eficientes

O Counter é uma ferramenta poderosa para contar elementos em uma lista. Ele retorna um dicionário com os elementos como chaves e suas contagens como valores.

Exemplo:

python
Copy
from collections import Counter

dados = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
contador = Counter(dados)

print(contador)


Saída:

Copy
Counter({4: 4, 3: 3, 2: 2, 1: 1})

quinta-feira, 28 de março de 2019

  Conhecendo o defaultdict do módulo collections

defaultdict é uma subclasse de dict que fornece um valor padrão para chaves inexistentes. Isso evita erros ao acessar chaves que não estão no dicionário.


Exemplo:


python
Copy
from collections import defaultdict

contador = defaultdict(int)
palavras = ["maçã", "banana", "maçã", "laranja"]

for palavra in palavras:
    contador[palavra] += 1

print(contador)


Saída:


Copy
defaultdict(<class 'int'>, {'maçã': 2, 'banana': 1, 'laranja': 1})

quarta-feira, 6 de fevereiro de 2019

Geradores em Python: eficiência e simplicidade

Geradores são uma forma simples de criar iteradores usando funções com a palavra-chave yield. Eles são ideais para trabalhar com grandes volumes de dados, pois geram valores sob demanda, economizando memória.


Exemplo:


python
Copy
def gerador_pares(limite):
    for i in range(limite):
        if i % 2 == 0:
            yield i

for par in gerador_pares(10):
    print(par)


Saída:


Copy
0
2
4
6
8

segunda-feira, 14 de janeiro de 2019

O que são iteradores e como usá-los em Python

Iteradores são objetos que permitem percorrer coleções de dados, como listas, tuplas e dicionários, de forma sequencial. Eles implementam dois métodos essenciais: __iter__() e __next__(). O primeiro retorna o próprio iterador, e o segundo retorna o próximo valor da sequência. Quando não há mais elementos, uma exceção StopIteration é levantada.

Exemplo:


python
Copy
class MeuIterador:
    def __init__(self, limite):
        self.limite = limite
        self.valor = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.valor < self.limite:
            self.valor += 1
            return self.valor
        else:
            raise StopIteration

for numero in MeuIterador(5):
    print(numero)


Saída:


Copy
1
2
3
4
5

#17 Conclusão do Projeto Quiz em Python e Próximos Passos

Descrição:   Concluímos o projeto e discutimos como você pode continuar aprendendo e expandindo o quiz. Conteúdo: Reforçamos a importância d...