Mestre Avançado de Python
Um curso por dabeaz
Copyright 2007-2023
Este trabalho está licenciado sob uma Licença Internacional Creative Commons Attribution-ShareAlike 4.0
Sinopse
Um curso baseado em exercícios sobre Programação Avançada em Python, que foi testado em batalha várias centenas de vezes no circuito de treinamento corporativo por mais de uma década. Escrito por dabeaz, autor do Python Cookbook, 3ª Edição (O'Reilly) e Python Destilado (Addison-Wesley). Lançado sob uma licença Creative Commons. Livre de anúncios, rastreamento, pop-ups, boletins informativos e IA.
Público-alvo
Este curso é para programadores Python que desejam avançar além de scripts curtos para escrever programas mais sofisticados. Os tópicos se concentram em técnicas de programação que são usadas em bibliotecas e frameworks populares. O objetivo principal é entender melhor a própria linguagem Python para que você possa entender o código de outras pessoas e aplicar seu novo conhecimento em seus próprios projetos.
Pré-requisitos
Você já conhece um pouco de Python. Este não é um curso para iniciantes. Para obter mais material introdutório, você pode considerar o curso de Programação Python Prática.
Como fazer o curso
Para fazer o curso, você deve primeiro fazer um fork/clone do repositório do GitHub para sua própria máquina.
Pressupõe-se que você esteja trabalhando localmente em um ambiente de desenvolvimento Python adequado. Isso significa uma instalação adequada do Python, um editor/IDE e quaisquer outras ferramentas que você normalmente instalaria para trabalhar com Python. Devido ao uso de vários arquivos e importações de módulos, o uso de Notebooks não é recomendado.
O arquivo PythonMastery.pdf contém slides de apresentação detalhados. Os exercícios do curso e os cronogramas sugeridos são claramente indicados. Você vai querer tê-lo ao seu lado (recomendo fazer o download e visualizá-lo com um visualizador de PDF local). Comece aqui!
O diretório Exercícios/ contém todos os exercícios do curso.
O diretório Soluções/ contém o código das soluções totalmente desenvolvidas.
O diretório Dados/ contém alguns arquivos de dados usados durante o curso.
O curso foi originalmente ministrado ao longo de 4-5 dias em uma sala de aula presencial, com uma mistura de palestras e exercícios práticos. Para concluir com êxito o curso, provavelmente será necessário de 30 a 50 horas de trabalho. Os exercícios tendem a se basear uns nos outros. As soluções sempre são fornecidas, caso você fique preso.
Material complementar
O curso Mestre Avançado de Python frequentemente sugeria tutoriais mais aprofundados sobre tópicos selecionados. Estes foram apresentados na conferência PyCon e podem ser de interesse:
Perguntas e Respostas
P: Existem vídeos disponíveis?
R: Não. Você poderá ler mais rapidamente os slides de apresentação, que contêm informações técnicas. No entanto, o vídeo Python Programming Language: LiveLessons disponível no site Safari da O'Reilly está intimamente relacionado ao material deste curso.
P: Posso usar esses materiais no meu próprio curso?
R: Sim. Só peço gentilmente que você dê a devida atribuição.
P: Você aceita relatórios de bugs ou pull requests?
R: Se você encontrou um bug, por favor, relate-o! No entanto, não estou procurando expandir ou reorganizar o conteúdo do curso com novos tópicos ou exercícios.
P: Os slides de apresentação estão disponíveis em algum formato além de PDF?
R: Não.
P: Existe algum fórum/chat onde o curso possa ser discutido?
R: Você pode usar as discussões do GitHub para discutir o curso.
P: Por que o tópico/ferramenta/biblioteca X não foi abordado?
R: O curso foi projetado para ser concluído em um formato presencial intenso de 4 dias. Simplesmente não é possível cobrir absolutamente tudo. Como tal, o curso se concentra principalmente na própria linguagem Python, e não em bibliotecas ou ferramentas de terceiros.
P: Por que recursos como tipagem, assincronia ou correspondência de padrões não são abordados?
R: Principalmente, é uma questão de cronograma e escopo. O material do curso foi desenvolvido principalmente antes da pandemia e representa o Python como ele era naquela época. Alguns tópicos (como tipagem ou assincronia) são complexos o suficiente para serem melhor abordados separadamente, em um curso próprio.
P: Como posso ajudar?
R: Se você gostou do curso, a melhor maneira de apoiá-lo é contar para outras pessoas sobre ele.
Confira os últimos vídeos publicados no canal