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:
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
- Type Hints (Protocol, duck typing)
- decorators
- Architecture Patterns with Python: DDD, CQRS, Event-Driver Architecture, etc.
- Fluent Python (2022):
- 📺Watch:
- ArjanCodes: Advanced, refactoring videos are great.
- mCoding: Trivia, watch popular videos.
- 🧰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:
- 🧪Learn about testing
- 🔄Task queues: Celery / arq
- 🔧CI Tools (sample precommit): 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://www.deta.sh/ or https://www.pythonanywhere.com/