Python notes #1 (A Comprehensive Introduction to Python)

Elvin Seyidov
2 min readMar 13, 2025

--

Python’s key features

  • Python is dynamically typed, interpreted, and supports multiple programming paradigms (OOP, functional, procedural). It has a large standard library and automatic memory management.

Python memory management

  • Python uses a private heap for memory management and has built-in garbage collection using reference counting and cyclic garbage collection.

Deep copy and shallow copy

  • A shallow copy creates a new object but references the original elements, while a deep copy creates a completely independent copy of the original object and its elements.

Global Interpreter Lock (GIL)

  • GIL is a mutex in CPython that allows only one thread to execute at a time, limiting true parallel execution in multi-threaded programs.

Python dynamic typing handling

  • Python determines variable types at runtime, making development faster but potentially leading to runtime errors if types are misused.

CPython and Python’s different implementations

  • CPython is the default interpreter, PyPy offers JIT compilation for speed, Jython runs on the JVM, and IronPython integrates with .NET.
  • CPython is the default and most widely used implementation of Python, written in C. It compiles Python code into bytecode and executes it using a stack-based virtual machine. CPython includes a built-in garbage collector and follows the Global Interpreter Lock (GIL), which restricts true parallel execution in multi-threaded programs. It is the reference implementation of Python, meaning all other implementations (like PyPy, Jython, and IronPython) aim for compatibility with CPython.

Python’s exception handling

  • Python uses try-except-finally blocks to catch and handle exceptions, preventing program crashes and enabling graceful error handling.

Sign up to discover human stories that deepen your understanding of the world.

--

--

Elvin Seyidov
Elvin Seyidov

Written by Elvin Seyidov

Python & Django Developer | Building scalable web apps | Passionate about backend development, APIs, and automation | Sharing coding tips & tutorials 🚀

No responses yet

Write a response