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:

List of materials to review with my notation:

Core

Libraries and frameworks

Python internals

Web frameworks

Dev tools

Computer Graphics

Footnotes

  1. article - Python High-level essentials / Хабр, repository - Python developer roadmap