- Receber o template por e-mail: https://curriculo.saldanha.dev/
- Link direto: Template de Currículo Google Docs - v1
- Currículo no Notion (desatualizado)
- Roteiro (GitHub)
- Vídeo (8 min) com passo-a-passo
- Ideias para apps: https://github.com/florinpop17/app-ideas
- Projetos Open Source para iniciantes: https://github.com/MunGell/awesome-for-beginners
# Para mais conteúdos de Python, acesse: https://instagram.com/gabrielsaldanha.dev | |
# É necessário ter Pillow instalado: | |
# $ python3 -m pip install Pillow | |
from PIL import Image, ImageDraw, ImageFont | |
image = Image.new("RGB", (1080, 1080), color=(41, 46, 48)) | |
img_draw = ImageDraw.Draw(image) | |
# Arquivo de fonte Helvetica.ttc deve estar no mesmo diretório | |
# que o programa está sendo executado |
#include <cs50.h> | |
#include <stdio.h> | |
int main(void) | |
{ | |
int n; | |
do | |
{ | |
n = get_int("Size: "); | |
} |
# https://www.django-rest-framework.org/api-guide/fields/#error_messages | |
from rest_framework import serializers as s | |
class User(s.Serializer): | |
name = s.CharField(error_messages={"blank": "This is a custom message! Yeah!"}) | |
user = User(data={"name": ""}) | |
user.is_valid() |
# O interpretador Python vai sempre procurar pela variável no escopo "local" | |
# antes de olhar para o escopo global. Por exemplo, veja as funções abaixo `somar` e `somar_2` | |
a = 10 # Variável global | |
def somar(a, b): | |
# a, b: variáveis locais – parâmetros da função | |
return a + b | |
def somar_2(b): # Apenas um parâmetro "b" |
valor_compra = float(input("Digite o valor da compra: \n")) | |
valor_frete = float(input("Digite o valor do frete: \n")) | |
cliente_cadastrado = input("O cliente é cadastrado? (s/n) \n") | |
cupom_pode_ser_utilizado = (valor_compra + valor_frete > 100) or (cliente_cadastrado == "s") | |
print(cupom_pode_ser_utilizado) |
from datetime import datetime, timedelta | |
dt_inicio = datetime(2022, 3, 17, 9) # 09h00, 17 de Março de 2022 | |
dt_fim = datetime(2022, 3, 17, 18) # 18h00, 17 de Março de 2022 | |
delta = timedelta(minutes=30) # objeto timedelta de 30 minutos | |
dt = dt_inicio + delta | |
print(type(dt)) | |
# <class 'datetime.datetime'> | |
print(dt) |
console.log("Pode ter mais de um arquivo por gist!!!") |
Documentação completa: https://docs.python.org/3/library/concurrent.futures.html
def __init__(max_workers)
def map(func, *iterables)
- similar ao
map
(built-in) - executa
func
de modo assíncrono sobre os iteráveis.
- similar ao
def shutdown(wait=True, *, cancel_futures=False)
wait
: blocking vs non-blocking return (esperar todos os futuros pendentes terminarem).
Bem-vindo à minha série de artigos sobre programação com Python para iniciantes! Nesta série, vou te guiar através de conceitos de programação (utilizando Python) de modo que você consiga criar seus próprios programas!
Cada artigo (ou capítulo) foi escrito de modo que possa ser lido em poucos minutos, com alguns exercícios práticos no final. Além disso, o conteúdo é voltado para iniciantes na programação ou pessoas que nunca tiveram contato e querem aprender mais sobre programação. Portanto, não é necessário nenhum conhecimento prévio.
Sinta-se confortável para ler os capítulos da maneira que preferir, mas eles foram pensados para serem lidos diariamente, um capítulo por dia, de modo que não tome muito do seu tempo.
Se você não faz ideia do que é esse tal de "Python" ou "programação", pode ficar tranquilo(a)! No primeiro capítulo a gente vai falar sobre isso!