Ultimate Python study guide for newcomers and professionals alike. 🐍 🐍 🐍
print("Ultimate Python study guide")
I created a 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. 🎓
Here are the primary goals of creating this guide:
🏆 Serve as a resource for Python newcomers who prefer to learn hands-on.
This repository has a collection of standalone modules which can be run in an IDE
like PyCharm and in the browser like
Repl.it. Even a plain old terminal will work
with the examples. Most lines have carefully crafted comments which guide a reader
through what the programs are doing step-by-step. Users are encouraged to modify
source code anywhere as long as the main
routines are not deleted and
run successfully after each change.
🏆 Serve as a pure guide for those who want to revisit core Python concepts.
Only builtin libraries are leveraged so that
these concepts can be conveyed without the overhead of domain-specific concepts. As
such, popular open-source libraries and frameworks (i.e. 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.
📚 = External resource, 🍰 = Beginner topic, 🤯 = Advanced topic
- About Python
- Overview: What is Python (:books:, :cake:)
- Design Philosophy: The Zen of Python (:books:)
- Style Guide: Style Guide for Python Code (:books:, :exploding_head:)
- Data Model: Data model (:books:, :exploding_head:)
- Syntax
- Variable: Built-in literals (:cake:)
- Expression: Numeric operations (:cake:)
- Conditional: if | if-else | if-elif-else (:cake:)
- Loop: for-loop | while-loop (:cake:)
- Function: def | lambda (:cake:)
- Data Structures
- List: List operations (:cake:)
- Tuple: Tuple operations
- Set: Set operations
- Dict: Dictionary operations (:cake:)
- Comprehension: list | tuple | set | dict
- String: String operations (:cake:)
- Classes
- Basic class: Basic definition (:cake:)
- Abstract class: Abstract definition
- Exception class: Exception definition
- Iterator class: Iterator definition | yield (:exploding_head:)
- Advanced
- Decorator: contextlib | wraps (:exploding_head:)
- Metaclass: Metaclass definition (:exploding_head:)
- Method Resolution Order: mro (:exploding_head:)
- Asyncio: async | await (:exploding_head:)
- Weak reference: weakref (:exploding_head:)
- Benchmark: cProfile | pstats (:exploding_head:)
👔 = Interview resource, 🧪 = Code samples, 🧠 = Project ideas
Keep learning by reading from other well-regarded resources.
- TheAlgorithms/Python (:necktie:, :test_tube:)
- faif/python-patterns (:necktie:, :test_tube:)
- geekcomputers/Python (:test_tube:)
- karan/Projects (:brain:)
- vinta/awesome-python (:brain:)
- MunGell/awesome-for-beginners (:brain:)
Keep practicing so that your coding skills don't get rusty.
- leetcode.com (:necktie:)
- hackerrank.com (:necktie:)
- codesignal.com (:necktie:)
- exercism.io
- projecteuler.net