Basics
Download Python and Visual Studio Code with the Python extension.
Start with 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: DDD, CQRS, Event-Driver Architecture, etc.
- 📺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 dependency management, poetry is also a good option, specially for packaging a library. Avoid pipenv.
- ⚡️Concurrency with superfast python:
- 🧪Learn about testing
- 🔄Task queues: Celery / arq
- 🔧CI Tools: MyPy, Black, isort, flake8 / 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/