Python
What type of programming language is Python? High-level, general-purpose programming language.
Python emphasizing code readability through indentation.
What programming paradigms does Python support? Multi-paradigm: object-oriented, structured, functional, and aspect-oriented programming (including metaprogramming and metaobjects). Many other paradigms are supported via extensions, including design by contract and logic programming.
How does Python handle memory management? Uses dynamic typing, reference counting, and cycle-detecting garbage collection.
What is Python’s name resolution method called? Dynamic name resolution (late binding), which binds method and variable names during program execution.
What functional programming features does Python have?
It has filter, map and reduce 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.
Is Python weakly or strongly typed? Python is strongly, dynamically typed.
- Strong typing means that the type of a value doesn’t change in unexpected ways. A string containing only digits doesn’t magically become a number, as may happen in Perl. Every change of type requires an explicit conversion.
- Dynamic typing means that runtime objects (values) have a type, as opposed to static typing where variables have a type.
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.
I use collection of code snippets related to Python.
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:
-
Brownlee_-_Python_Asyncio_Jump-Start
-
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
Libraries and frameworks
-
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 ↩