Ultimate Python study guide
Ultimate Python study guide for newcomers and professionals alike.
print("Ultimate Python study guide")
English | νκ΅μ΄ | ηΉδ½δΈζ | EspaΓ±ol | Deutsch
Motivation
I created this GitHub repo to share what I've learned about core Python
over the past 5+ years of using it as a college graduate, an employee at
large-scale companies and an open-source contributor of repositories like
Celery and
Full Stack Python.
I look forward to seeing more people learn Python and pursue their passions
through it.
Goals
Here are the primary goals of creating this guide:
main
routines are not deleted and
run successfully after each change.
sqlalchemy
, requests
,
pandas
) are not installed. However, reading the source code in these frameworks is
inspiring and highly encouraged if your goal is to become a true
Pythonista.
Getting started
Click the badge above to spin up a working environment in the browser without needing Git and Python installed on your local machine. If these requirements are already met, feel free to clone the repository directly.
Once the repository is accessible, you are ready to learn from the standalone modules. To get the most out of each module, read the module code and run it. There are two ways of running the modules:
- Run a single module:
python ultimatepython/syntax/variable.py
- Run all of the modules:
python runner.py
Table of contents
- About Python
- Overview: What is Python (
π ,π° ) - Design philosophy: The Zen of Python (
π ) - Style guide: Style Guide for Python Code (
π ,π€― ) - Data model: Data model (
π ,π€― ) - Standard library: The Python Standard Library (
π ,π€― ) - Built-in functions: Built-in Functions (
π )
- Overview: What is Python (
- Syntax
- Variable: Built-in literals (
π° ) - Expression: Numeric operations (
π° ) - Conditional: if | if-else | if-elif-else (
π° ) - Loop: for-loop | while-loop (
π° ) - Function: def | lambda (
π° )
- Variable: Built-in literals (
- Data Structures
- List: List operations (
π° ) - Tuple: Tuple operations
- Set: Set operations
- Dict: Dictionary operations (
π° ) - Comprehension: list | tuple | set | dict
- String: String operations (
π° ) - Deque: deque (
π€― ) - Time complexity: cPython operations (
π ,π€― )
- List: List operations (
- Classes
- Basic class: Basic definition (
π° ) - Abstract class: Abstract definition
- Exception class: Exception definition
- Iterator class: Iterator definition | yield (
π€― )
- Basic class: Basic definition (
- Advanced
- Decorator: Decorator definition | wraps (
π€― ) - Context manager: Context managers (
π€― ) - Method resolution order: mro (
π€― ) - Mixin: Mixin definition (
π€― ) - Metaclass: Metaclass definition (
π€― ) - Thread: ThreadPoolExecutor (
π€― ) - Asyncio: async | await (
π€― ) - Weak reference: weakref (
π€― ) - Benchmark: cProfile | pstats (
π€― ) - Mocking: MagicMock | PropertyMock | patch (
π€― ) - Regular expression: search | findall | match | fullmatch (
π€― ) - Data format: json | xml | csv (
π€― ) - Datetime: datetime | timezone (
π€― )
- Decorator: Decorator definition | wraps (
Additional resources
GitHub repositories
Keep learning by reading from other well-regarded resources.
- TheAlgorithms/Python (
π ,π§ͺ ) - faif/python-patterns (
π ,π§ͺ ) - geekcomputers/Python (
π§ͺ ) - trekhleb/homemade-machine-learning (
π§ͺ ) - karan/Projects (
π§ ) - MunGell/awesome-for-beginners (
π§ ) - vinta/awesome-python
- academic/awesome-datascience
- josephmisiti/awesome-machine-learning
- ZuzooVn/machine-learning-for-software-engineers
- 30-seconds/30-seconds-of-python (
π§ͺ ) - ml-tooling/best-of-python
Interactive practice
Keep practicing so that your coding skills don't get rusty.
- leetcode.com (
π ) - hackerrank.com (
π ) - kaggle.com (
π§ ) - exercism.io
- projecteuler.net
- DevProjects
- codewars.com