Basics
Use Google Colab to learn the basic syntax and concepts.
Download Python and Visual Studio Code with the Python extension to start writing single file scripts.
- 📚Introducing Python (2019): Ignore everything after chapter 11
- 📝Basic OOP
- 🎨Skim through pep8
- ⚡️Learn a bit of DSA (Data Structures and Algorithms): do easy in neetcode
Note
Project ideas:
- Make a discord bot with discord.py
- Program a simple game with PyGame such as Snake
- Deploy a simple FastAPI website in Deta (maybe a TODO list)
Advanced
Switch to PyCharm once you are familiar with the syntax and concepts such as virtualenvs, git, etc.
- 📚Read:
- Fluent Python (2022): magic methods, dataclasses, Advanced typing, decorators
- Architecture Patterns with Python (2020): DDD, CQRS, Event-Driver Architecture, etc.
- Robust Python (2022): typing, etc.
- Google Style Guide: don’t have to follow it, interesting to see how it evolves
- 📺Watch: sort by popular
- ArjanCodes: Advanced, refactoring videos are great.
- mCoding: Trivia.
- 🧰Learn about Design Patterns in python but don’t go too crazy.
- 📝StackOverflow Questions: should know the answers to the most voted questions.
Info
Use venv and pip-tools for managing virtual environments and dependencies.
Use hatchling to package libraries.
- ⚡️Concurrency with superfast python:
- 🧪Learn about testing / Property-based testing
- 🔄Task queues: Celery / arq
- 🔧CI Tools: MyPy, Black, ruff, pip-audit, bandit
- 👀Checkout some Open Source projects, better if you have used them before:
Tip
Keep an eye on:
- Latest Python features: read summaries
- Reddit: Check top posts by year or month
- Top libraries: by year
Web Frameworks
Note
See notes about web
Deploy using https://deta.space/ or https://www.pythonanywhere.com/