Python
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation via the off-side rule.
Python is a multi-paradigm programming language. object-oriented programming and structured programming are fully supported, and many of their features support functional programming and aspect-oriented programming (including metaprogramming and metaobjects). Many other paradigms are supported via extensions, including design by contract and logic programming.
Python uses dynamic typing and a combination of reference counting and a cycle-detecting garbage collector for memory management. It uses dynamic name resolution (late binding), which binds method and variable names during program execution.
Its design offers some support for functional programming in the Lisp tradition. It has
filter
,map
andreduce
functions; list comprehensions, dictionaries, sets, and generator expressions. The standard library has two modules (itertools and functools) that implement functional tools borrowed from Haskell and Standard ML.
— Wikipedia
Zen of python describes the philosophy of Python.
This is most prioritized language for me. I learn it according to my roadmap.
Python is a high-level, general-purpose programming language.
One of key features of Python is attention to readability, by using indentation to delimit code blocks, rather than curly brackets or keywords.
Python is [dynamically typed] and [garbage-collected].
It supports any popular programming paradigm:
Rich stdlib, it’s “batteries included” language.
Learning path
I learn Python according to customized amaargiru 1 pyroad developer roadmap, I place links to my notes related to Python in special excalidraw whiteboard, aviable in the spoiler below:
High-level overview of Python
python high level overview.excalidrawPython high-level overview
List of materials to review with my notation:
-
Python cheatsheet, to dive in into language itself.
Core
-
CS50’s Introduction to Programming with Python | Harvard University
-
How to learn Python programming | Guido van Rossum and Lex Fridman - YouTube
-
Python для сетевых инженеров paradigms function, imperative, oop
-
Slatkin - Effective Python, general tips to write good Python code
-
Sets in Python – Real Python, research article.
-
Set Difference Python: Intersection, union and difference of Sets in Python. - DEV Community
-
Thoughts On @staticmethod Usage In Python - Julius Seporaitis
-
The Ultimate Guide to Error Handling in Python - miguelgrinberg.com
-
Python decorators, research a topic
-
Python dataclasses will save you HOURS, also featuring attrs - YouTube
-
string — Common string operations — Python 3.13.0 documentation
-
Python’s F-String for String Interpolation and Formatting – Real Python
-
Refactoring Python Applications for Simplicity – Real Python
-
Ned Batchelder - Facts and Myths about Python names and values - PyCon 2015 - YouTube
Packages & Frameworks
TODO: review
-
A curated list of awesome Python frameworks, libraries, software and resources
-
scipy - Fundamental algorithms for scientific computing in Python
-
numpy - the fundamental package for scientific computing with Python
Python internals
- Obi - Inside The Python Virtual Machine
- JIT-компилятор Python в 300 строк / Habr
- CPython’s Garbage Collector and its Impact on Application Performance
- Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python / Хабр
Web frameworks
- Lubanovic - FastAPI
- GitHub - vishyarjun/rate_limiter_fastapi: API Rate Limiter built in FastAPI Python Framework
Dev tools
Computer Graphics
Footnotes
-
article - Python High-level essentials / Хабр, repository - Python developer roadmap ↩