Python Glossary

Your ultimate dictionary for Python programming terms. From "Async" to "Yield," verify your vocabulary here.

🐍329 terms📈A to Z coverage
A9 terms

ABI (Application Binary Interface)

The binary interface between compiled extension modules and the Python interpreter. It affects the compatibility of compiled packages across Python versions and builds.

Abstract Base Class (ABC)

A class that defines a common interface for subclasses, often using the abc module. Cannot be instantiated directly and enforces certain method implementations.

Annotation

Metadata attached to variables, parameters, or return types for documentation or static typing. Accessible at runtime via __annotations__ but ignored by the interpreter unless tools use them.

API (Application Programming Interface)

A set of functions, classes, and rules that let different software components communicate and work together. In Python, APIs can be module-level functions or web service endpoints.

Argument

A value passed to a function when it is called. Arguments can be positional, keyword, or variable-length (via *args and **kwargs).

Argument Unpacking

Using * and ** in calls to expand sequences and mappings into positional and keyword arguments. Useful when forwarding parameters dynamically.

Async / Await

Keywords for writing asynchronous code. async def defines a coroutine; await pauses until an awaitable completes without blocking other tasks.

AsyncIO

The standard library framework for asynchronous programming using event loops, coroutines, tasks, and futures. Best for many concurrent I/O-bound tasks.

Attribute

A value or method bound to an object, accessed with dot notation (e.g., obj.attr). Attributes hold state or behavior for objects and classes.

B18 terms

Backslash Escape

A sequence starting with \ in strings that represents special characters, e.g., \n for newline or \t for tab.

Base Class

The parent class from which other classes inherit properties and methods. In Python, all classes implicitly inherit from object unless specified otherwise.

Base64

A binary-to-text encoding for safely transmitting binary data as ASCII text. Provided by the standard base64 module.

Binary File

A file that contains data in a format not meant for direct human reading, such as images, videos, or compiled code. Opened in Python with modes like "rb" or "wb".

Bitwise Operator

Operators that manipulate individual bits of integers, such as & (AND), | (OR), ^ (XOR), << (shift left), and >> (shift right).

Blocking

A state where a program waits (halts) until an operation, such as I/O, completes before continuing execution.

BOM (Byte Order Mark)

A Unicode character used at the start of a text stream to indicate byte order (endianness). Relevant in UTF encoding handling.

Boolean

A data type with only two values: True or False. Often used in condition checks and logical expressions.

Bound Method

A method bound to a specific instance. When invoked, it automatically receives the instance as the first parameter (commonly self).

Break Statement

A control statement used to exit the nearest enclosing loop immediately, skipping the remaining iterations.

Buffer

Temporary storage in memory for data being transferred between locations, often used in file and network operations for efficiency.

Buffer Protocol

An internal Python mechanism that allows direct access to an object’s byte-oriented data without copying it, used by objects like bytes and bytearray.

Built-in Function

Functions provided by Python by default, such as len(), print(), max(), and type(). They are always available without importing modules.

Builtin Namespace

The top-level namespace in Python that stores built-in functions, exceptions, and constants like None, True, and False.

bytearray

A mutable sequence of bytes, useful for handling binary data that can be modified in place.

Bytecode

The intermediate compiled form of Python source code (stored as .pyc) that the Python virtual machine executes.

bytes

An immutable sequence of bytes, often used for representing raw binary data. Created with literals like b'hello'.

Bytes / Bytearray

Immutable (bytes) and mutable (bytearray) sequences of 8-bit values used for raw binary data and I/O operations.

C23 terms

Cache

A temporary storage layer that keeps frequently accessed data in memory for faster retrieval. In Python, caching can be implemented manually or via tools like functools.lru_cache.

Call by Object Reference

Python’s calling model, where references to objects are passed to functions. Mutating a passed-in mutable object affects the original reference.

Callable

Any object that can be invoked like a function (functions, methods, or objects implementing __call__). Use callable(obj) to check.

Chaining

A technique where multiple method calls or operations are connected in a single statement, often returning self or another object to enable continued calls.

Chunk

A fixed-size or logical segment of data processed at once, often used in file reading, streaming, or batching operations.

Circular Import

An import loop where two or more modules depend on each other, often causing ImportError or partially initialized modules.

Class

A blueprint for creating objects that groups attributes and methods. Classes enable inheritance and encapsulation in object-oriented designs.

Class Attribute

A variable that is shared across all instances of a class, defined directly inside the class body but outside any method.

Class Method

A method bound to the class rather than an instance, defined with @classmethod. Receives the class (cls) as its first argument.

Closure

A function that captures variables from its enclosing scope. Closures let inner functions retain access to outer variables even after the outer function returns.

Coercion

The implicit or explicit conversion of one data type into another (e.g., converting int to float in arithmetic).

Comparison Operators

Operators that compare values and return a Boolean, including ==, !=, <, >, <=, and >=.

Compile

The process of translating Python source code into bytecode (.pyc files) before execution by the interpreter.

Composite Data Type

A data type that can store multiple values, such as lists, dictionaries, tuples, and sets.

Comprehension

A compact syntax to build lists, sets, dicts, or generators (e.g., [x for x in it]). They improve readability and often performance.

Concurrency

Running multiple tasks during overlapping time periods. In Python, this can be achieved with threads, processes, or async code, each with trade-offs.

Conditional Expression

An expression that evaluates one of two values based on a condition, written as x if condition else y.

ConfigParser

A standard library module for reading and writing configuration files in INI format.

Constant

A variable intended to remain unchanged throughout a program. Python does not enforce immutability, but naming in ALL_CAPS indicates constants by convention.

Constructor

The special method __init__ in a class, automatically called when creating an instance to initialize attributes.

Context Manager

An object used with the with statement that implements __enter__ and __exit__ to reliably manage resources like files or locks.

Coroutine

A special function defined with async def that can pause execution with await and resume later, enabling asynchronous programming.

CPython

The reference Python implementation written in C. It compiles source to bytecode and uses reference counting plus a garbage collector.

D15 terms

Daemon Thread

A background thread that runs without blocking program exit. It terminates automatically when all non-daemon threads finish.

Data Hiding

The practice of limiting direct access to an object’s internal state, often by using a naming convention like a leading underscore (_).

Data Serialization

The process of converting Python objects into a format (e.g., JSON, pickle) that can be stored or transmitted and later reconstructed.

Dataclass

A decorator from the dataclasses module that automatically generates boilerplate methods (like __init__ and __repr__) for classes used to store data.

Debugging

Debugging is the process of finding and fixing errors or unexpected behavior in code, often using tools like pdb or IDE debuggers.

Decorator

A callable that wraps and returns a new callable, used with the @ syntax to modify or extend functions and methods without editing their code.

Deep Copy

A copy of an object and all objects it contains, created using the copy.deepcopy() function, ensuring no shared references with the original.

Default Argument

A function parameter with a preset value that is used if no argument is provided when the function is called.

Delimiter

A character or sequence of characters that marks boundaries between separate data elements, such as commas in CSV files or tabs in TSV files

Descriptor

An object defining attribute access via __get__, __set__, or __delete__. Descriptors power properties, methods, and attribute management.

Dictionary

A mutable mapping from hashable keys to values (dict). Offers average O(1) lookup and supports view objects for keys/items/values.

Docstring

A literal string placed at the start of a module, function, class, or method that documents its purpose. Accessible via __doc__.

Doctest

A testing module that runs examples embedded in docstrings and checks their output. Useful for simple, documentation-driven tests.

Duck Typing

A style where an object’s suitability is determined by the presence of methods/attributes, not by its explicit type. “If it walks like a duck…”

Dynamic Typing

A feature where variable types are determined at runtime, allowing reassignment to different types without explicit declarations.

E17 terms

EAFP (Easier to Ask Forgiveness than Permission)

A Pythonic approach that tries an operation and handles exceptions rather than pre-checking conditions.

Ellipsis

A special constant Ellipsis (or ...) used in slicing syntax for advanced indexing, often in NumPy arrays or to indicate omitted code.

Empty Sequence

A sequence with no elements, such as [], (), '', or range(0). Evaluates as False in Boolean contexts.

Encoding

The process of converting text (Unicode) into a specific byte representation, such as UTF-8 or ASCII, for storage or transmission.

Endianness

The byte order used to represent multi-byte data types; can be little-endian or big-endian. Python’s sys.byteorder reveals the system’s order.

Entry Point

The location where program execution begins, such as the if __name__ == "__main__": block in Python scripts.

Enum

An enumeration type from enum.Enum used to define named constant values, improving readability and safety over raw literals.

Environment Variable

A key-value pair in the operating system’s environment, accessible via Python’s os.environ for configuration and settings.

Eval

A built-in function that parses and executes a string as a Python expression, often considered unsafe with untrusted input.

Event Loop

A core part of asynchronous programming (asyncio) that manages and schedules the execution of tasks, callbacks, and I/O events.

Exception

An error condition raised during execution. Use try/except blocks to handle exceptions and keep programs robust.

Executable

A file or script that can be directly run by the operating system or interpreter, such as a .py file executed by Python.

Exit Code

An integer returned by a program upon completion, where 0 usually indicates success, and non-zero values indicate errors.

Explicit Conversion

The intentional casting of a value to a specific type using functions like int(), str(), or float().

Expression

Any combination of literals, identifiers, operators, and function calls that produces a value when evaluated.

Extended Slice

A slicing technique that uses the third parameter in sequence[start:stop:step] to define step size, including negative steps.

Extension Module

A module written in C or C++ that can be imported into Python, often used to improve performance or interface with system libraries.

F16 terms

f-string

A string literal prefixed with f or F that supports inline expressions inside curly braces {}, introduced in Python 3.6 for fast and readable string formatting.

Factorial

The product of all positive integers up to a given number n. In Python, it can be computed with math.factorial(n).

False

A built-in Boolean constant representing the false value. Equivalent to 0 in numeric contexts and evaluates as False in conditionals.

FIFO (First In, First Out)

A queue ordering principle where the first item added is the first to be removed. Implemented using collections like deque.

File I/O

Reading and writing files using open() or higher-level APIs like pathlib. Use context managers to ensure files close cleanly.

File-like Object

Any object that implements methods like read() or write(), such as sockets or in-memory streams (io.StringIO).

Float

A built-in data type representing real numbers with decimal points, implemented as double-precision floating-point numbers.

Flow Control

The mechanisms that determine the order in which statements are executed, including loops, conditionals, and exceptions.

For Loop

A control structure that iterates over an iterable’s elements in sequence. Uses for ... in ...: syntax.

FP Helpers

Functional programming tools such as map, filter, functools, and itertools to write pipeline-style transformations.

Framework

A collection of pre-written code and tools providing a structure for application development, such as Django or Flask.

Frozen Set

An immutable set type in Python that cannot be modified after creation. Useful as dictionary keys or set elements.

Function Annotation

Metadata attached to function parameters and return values, defined using : and ->, often used for type hints.

Function Scope

The local namespace created when a function is called, where its variables are stored and resolved.

functools

A standard module with utilities like partial, lru_cache, and singledispatch for functional-style programming and caching.

Functor / Higher-order Function

Functions that accept other functions as arguments or return functions. They enable composable, reusable behavior.

G12 terms

Garbage Collection

The automatic process of freeing memory by reclaiming objects no longer in use. Python uses reference counting with a cyclic garbage collector.

Generalization

The process of designing functions or classes to handle a broader range of inputs or types, improving code reusability.

Generator

A function using yield to produce values lazily, conserving memory for large or infinite sequences.

getattr()

A built-in function that retrieves the value of an object’s attribute by name. Can take a default value if the attribute is missing.

GIL (Global Interpreter Lock)

A CPython mechanism that allows only one native thread to execute Python bytecode at a time, limiting CPU-bound multi-threading.

Global Keyword

A statement used to declare that a variable inside a function refers to a globally scoped variable, allowing modification.

Global Namespace

The top-level scope of a Python module where variables, functions, and classes defined at the file level reside.

Global Variable

A variable defined at the module level, accessible from anywhere in the module (and from other modules if imported).

Gradient Descent

An optimization algorithm often used in machine learning to minimize a loss function by iteratively adjusting parameters.

Graph

A data structure consisting of nodes (vertices) connected by edges, used to represent networks, relationships, and paths.

Groupby

A function in itertools and pandas that groups iterable elements or DataFrame rows by a key function or column(s)

GUI Frameworks

Libraries for desktop GUIs like tkinter, PyQt, and Kivy, each with different trade-offs and use cases.

H11 terms

hash() Function

A built-in function that returns the hash value of an object, which must be hashable (immutable and with __hash__ defined).

Hashable

An object with a stable hash value used as dictionary keys or set items. Immutable objects are typically hashable.

Heap

A specialized tree-based data structure where the parent node is ordered with respect to its children; implemented in Python via the heapq module.

heapq Module

A Python standard library module that provides functions for creating and working with heaps, useful for priority queues and fast min/max retrieval.

Help System

Python’s built-in help() function or pydoc tool for accessing documentation interactively.

hex() Function

A built-in function that converts an integer to its hexadecimal string representation.

Hexadecimal

A base-16 number system using digits 0–9 and letters A–F. In Python, hexadecimal literals use the 0x prefix.

High-Level Language

A programming language like Python that abstracts away hardware details, focusing on readability and productivity.

HTTP / REST Clients

Libraries such as requests (sync) and httpx (supports async) used to make HTTP calls to web APIs.

HTTPServer

A basic HTTP server provided by the http.server module in the standard library, useful for lightweight development and testing.

Hypothesis

A Python library for property-based testing generates test cases automatically based on specifications.

I8 terms

Immutable

Objects that cannot be changed after creation (e.g., str, tuple, frozenset). Immutability helps with safety and hashing.

Import System

How Python locates and loads modules and packages (via sys.path, package __init__.py, import hooks, and importlib).

Indexing & Slicing

Accessing elements with seq[i] or subranges with seq[start:stop:step]. Slices create new sequence objects.

Integer / Float / Decimal (Numeric Types)

Built-in numeric types: arbitrary-size int, floating-point float, and decimal.Decimal for exact decimal arithmetic.

Iterable

Any object capable of returning its elements one at a time (e.g., lists, tuples, generators), typically used in for loops.

Iterator

An object implementing __iter__() and __next__() that yields successive values until exhaustion.

Iterator Protocol

The protocol requiring __iter__() and __next__(), enabling objects to be iterated with loops and comprehensions.

itertools

A standard library module offering fast, memory-efficient tools for building and combining iterators for combinatorics and streaming tasks.

J10 terms

JavaScript Interop

Projects like Pyodide and Brython that run Python in the browser or bridge Python and JavaScript for web contexts.

JIT Compilation (Just-In-Time)

A runtime optimization technique that compiles bytecode to native machine code on the fly for faster execution. Implemented in projects like PyPy.

Joblib

A Python library for lightweight pipelining in machine learning, often used for parallel processing and model persistence.

join() Method

A string method that concatenates elements of an iterable into a single string with a specified separator.

join() Thread Method

A threading method that blocks until the specified thread terminates.

JPEG

A widely used compressed image format that is readable and writable in Python via libraries like Pillow.

JSON (JavaScript Object Notation)

JSON is a lightweight data format for exchanging structured data, supported in Python via the json module.

JSON Lines

A file format where each line is a separate JSON object, helpful in streaming large datasets.

Jupyter Notebook

An interactive development environment that combines code, output, and markdown in a single document, widely used for data science.

Jython

An implementation of Python written in Java, allowing Python code to run on the JVM and interoperate with Java libraries.

K9 terms

K-nearest Neighbors (KNN)

A simple machine learning algorithm that classifies data points based on the classes of their nearest neighbors.

Kernel

The core of an operating system or, in data science, the execution engine (e.g., IPython kernel) that runs Python code.

Key Function

A function passed to sorting or grouping operations (sorted(), min(), max()) to determine the sort or selection criteria.

KeyError

An exception raised when a dictionary key is not found in the existing keys.

Keyword Argument

An argument passed to a function by explicitly naming its parameter (e.g., func(x=10)), improving clarity and flexibility.

Keyword List

A list of key=value style arguments often collected into a dictionary via **kwargs in function definitions.

Keyword-Only Argument

A function parameter that must be specified using its name, defined after * in the parameter list.

KiB (Kibibyte)

A unit of digital information equal to 1,024 bytes, distinct from a kilobyte (1,000 bytes).

Kivy

An open-source Python framework for developing cross-platform applications, especially mobile apps and multitouch interfaces.

L15 terms

Lambda

A small anonymous function defined with lambda. It is limited to a single expression and used for short, inline callbacks.

LEGB Rule

The order Python uses to resolve variable names — Local, Enclosing, Global, Built-in.

len() Function

A built-in function that returns the number of items in a container such as a list, tuple, dict, or string.

Library

A collection of modules or packages that provide reusable functionality for Python programs.

Lightweight Process

Another term for a thread, which shares memory with other threads but executes independently.

List

A mutable ordered sequence of items created with square brackets. Lists support appends, pops, indexing, and slicing.

List Comprehension

A concise expression to build lists from iterables with optional filtering (e.g., [f(x) for x in it if cond(x)]).

Literal

A fixed value written directly in code, such as numbers (42), strings ("hello"), lists ([1, 2, 3]), or booleans (True).

Literal String Interpolation

String interpolation via f-strings or the .format() method to insert variable values directly into a string.

Literal_eval

A safe function in ast that evaluates strings containing Python literals into their corresponding objects.

Local Variable

A variable defined within a function or block and accessible only within that scope.

Lock

A synchronization primitive from the threading module that prevents multiple threads from accessing shared resources simultaneously.

logging

The standard logging framework providing levels, handlers, and formatters to record events and debug production code.

Loop

A control structure (for or while) that repeatedly executes a block of code until a condition changes.

Low-Level Language

A language closer to machine code, like C or assembly; Python is considered high-level, but can interface with low-level code via extensions.

M16 terms

Magic Method

Special methods surrounded by double underscores (e.g., __init__, __add__) that enable operator overloading and customize object behavior.

Main Module

The script that is run as the main program, identified by __name__ == "__main__".

Map Function

A built-in function that applies a given function to every item of an iterable, returning an iterator with the results.

Marshalling

The process of converting Python objects into a byte stream for storage or transmission, often used internally by pickle and for .pyc files.

Match Statement

A pattern matching construct introduced in Python 3.10 using the match and case keywords.

math Module

A standard library module providing mathematical functions like sqrt(), sin(), and constants like pi.

Memory Leak

Memory Leak is a situation where memory is allocated but never released, potentially causing excessive memory usage over time.

Memoryview

A built-in object that allows Python code to access the internal data of an object that supports the buffer protocol without copying.

Metaclass

A class of a class that controls class creation, enabling customization or enforcement of patterns at class-definition time.

Method Resolution Order (MRO)

The order in which base classes are searched when executing a method, available via the __mro__ attribute.

mmap

Memory maps a file for efficient, random-access I/O without loading the entire file into memory.

Module

A file containing Python definitions and statements, which can be imported into other scripts using the import statement.

Monkey Patching

Modifying or extending code at runtime by changing classes, methods, or modules without altering the original source.

Multiprocessing

A standard library module that runs processes in parallel to bypass the GIL, ideal for CPU-bound tasks.

Mutable

An object whose state or contents can be changed after creation, such as lists, dictionaries, and sets.

mypy/Type Hinting/typing

Optional static typing annotations (via the typing module) and tools like mypy to catch type errors before runtime.

N13 terms

Namedtuple

A factory function in collections that creates tuple subclasses with named fields for more readable code.

Namespace

A mapping from names to objects (e.g., local, global, builtins). Namespaces prevent name collisions and scope variables.

NaN (Not a Number)

A special floating-point value representing undefined or unrepresentable results, such as 0.0 / 0.0. Accessible via math.nan or float('nan').

Negative Indexing

Using negative numbers to index sequences, where -1 refers to the last element, -2 to the second last, and so on.

Nested Function

A function defined inside another function, often used for encapsulation or closures.

Nested List Comprehension

A comprehension inside another comprehension, used to flatten or transform multi-dimensional structures.

Network Sockets

Endpoints for sending and receiving data over a network, handled in Python via the socket module.

New-Style Class

Any class that explicitly or implicitly inherits from object. In Python 3, all classes are new-style by default.

No-op (No Operation)

A statement or operation that does nothing, often represented by the pass statement in Python.

None

A special singleton object in Python represents the absence of a value or a null reference.

NotImplemented

A special singleton returned by special methods to indicate that an operation is not supported for the given operands.

NT Path

A file path format used by Windows NT and its derivatives, often requiring escaping backslashes in Python strings.

numpy

A core library for numerical arrays and vectorized operations. It’s the foundation for scientific computing and data analysis in Python.

O13 terms

Object

An Object is an instance of a class that encapsulates data (attributes) and behavior (methods). In Python nearly everything is an object.

Octal

A base-8 number system using digits 0–7. In Python, octal literals are written with a 0o prefix (e.g., 0o755).

Octet

A sequence of 8 bits, equivalent to a byte; commonly used in networking contexts.

Offset

A numeric value indicating a position relative to a starting point, such as byte offsets in files or index offsets in sequences.

On-Demand Import

Importing modules only when they are needed during runtime, reducing initial load time.

One-Liner

A short Python statement that accomplishes a task in a single line of code.

Open Mode

The string argument in open() that specifies how a file is accessed, such as 'r' for read or 'wb' for binary write.

Operator

A symbol or function that performs an operation, such as arithmetic (+, -), comparison (==, <), or logical (and, or).

Operator Overloading

Defining special methods (like __add__, __eq__) in a class to customize the behavior of operators for its instances.

Optimization

The process of improving code performance or memory usage through algorithmic improvements, data structure choice, or built-in optimizations.

Optparse

A deprecated standard library module for parsing command-line options, replaced by argparse.

OrderedDict

A dictionary subclass from collections that preserves insertion order (now the default for dict since Python 3.7+).

ORM (Object-Relational Mapper)

A layer that maps database tables to Python classes so you can work with objects instead of raw SQL (e.g., SQLAlchemy, Django ORM).

P11 terms

Package

A directory of Python modules, typically with an __init__.py, used to organize and distribute related code.

Path-like Object

An object representing a filesystem path that implements __fspath__(), accepted by os and pathlib.

PEP (Python Enhancement Proposal)

A design document describing new features, processes, or standards for Python; PEPs guide language evolution and conventions.

pickle

A built-in binary serialization protocol for Python objects. Convenient for Python-only usage but unsafe for untrusted data.

pip

The standard package installer for Python that fetches packages from PyPI and installs them into environments.

pkg_resources / importlib.metadata

APIs to discover package metadata, versions, and entry points; importlib.metadata is the modern approach.

profiling

Tools such as cProfile and timeit that measure execution time and identify performance bottlenecks.

property

A decorator that makes a method behave like an attribute with getter/setter semantics, keeping interfaces clean and controlled.

PyPI

The Python Package Index, the central repository where packages are published and installed using pip.

pyproject.toml

A modern configuration file that centralizes build and packaging metadata for Python projects (PEP 518/621).

Python REPL / IPython / Jupyter

Interactive environments for exploratory coding. IPython improves ergonomics; Jupyter displays code, output, and rich media in notebooks.

Q11 terms

QGIS (Quantum GIS)

An open-source geographic information system that can be automated or extended using Python scripting.

QML (Qt Modeling Language)

A declarative language for designing UI in the Qt framework; accessible from Python through PyQt or PySide bindings.

QName (Qualified Name)

In XML processing, the namespace-qualified name of an element or attribute, handled in Python via libraries like xml.etree.ElementTree.

QR Code

A two-dimensional barcode that can store data such as URLs; Python supports generation and decoding via libraries like qrcode and pyzbar.

Quadratic Time

A time complexity of O(n²), where runtime grows proportionally to the square of the input size.

qualname / __qualname__

The qualified name of a function or class showing nesting; helpful for debugging and reflection.

Quantization

The process of mapping a large set of values to a smaller set, often used in machine learning model optimization to reduce size and improve speed.

Query Parameters

The key-value pairs in a URL after the ?, accessible in Python via urllib.parse or web frameworks.

queue module

Thread-safe FIFO, LIFO, and priority queues useful for producer-consumer patterns and inter-thread coordination.

Quickselect

An efficient selection algorithm for finding the k-th smallest element in an unordered list, related to Quicksort.

Quicksort

A divide-and-conquer sorting algorithm that partitions data around a pivot, achieving average O(n log n) time complexity.

R17 terms

Raise Statement

A keyword used to trigger an exception in Python, optionally specifying the exception type and message.

random module

Utilities for pseudo-random number generation, sampling, and shuffling. Not cryptographically secure — use secrets for that.

Range

An immutable sequence of integers used commonly in loops. It is memory-efficient and supports slicing-like behavior.

Raw String

A string prefixed with r or R where backslashes are treated literally, useful for regex patterns and Windows file paths.

Read Mode

A file access mode ('r' or 'rb') that opens a file for reading without modifying it.

Recursion

Recursion is a programming technique where a function calls itself directly or indirectly to solve a problem.

Redis

An in-memory key-value store often accessed from Python using libraries like redis-py for caching and messaging.

Reduce Function

A function from functools that cumulatively applies another function to items in an iterable, reducing it to a single value.

refcounting & garbage collection

CPython primarily uses reference counting and a cyclic garbage collector to manage memory and free unreachable objects.

regex

Regular expression support for searching, matching, and replacing text. Powerful but can reduce readability if overused.

Relative Import

Importing modules using a relative path within a package, denoted by leading dots (e.g., from . import module).

REPL (Read-Eval-Print Loop)

An interactive Python shell that reads user input, evaluates it, prints the result, and repeats.

repr() Function

A built-in function that returns the string representation of an object, ideally one that can be passed to eval() to recreate it.

Requests Library

A popular third-party package for making HTTP requests in a simpler way than the standard urllib.

requirements.txt

A plain list of project dependencies (often pinned) used to reproduce environments with pip install -r.

ResourceWarning

A warning raised when resources like files or sockets are not properly closed.

return value

The result a function passes back to its caller via return. If omitted the function returns None.

S13 terms

set

An unordered collection of unique, hashable items supporting fast membership tests and standard set operations.

setuptools

A packaging library used to build and distribute Python projects; historically tied to setup.py workflows.

slice

An object or syntax (start:stop:step) representing a subsequence; used to extract parts of lists, tuples, and strings.

socket

A low-level networking module for TCP/UDP communication that underlies higher-level HTTP and WebSocket libraries.

sorted / sorting key

Built-in utilities to sort iterables; use the key= parameter to sort by computed attributes while keeping the sort stable.

SQLAlchemy

A flexible ORM and SQL toolkit that provides both high-level ORM features and low-level SQL expression language control.

stack trace

The sequence of function calls shown when an exception occurs, used to identify where errors originate for debugging.

stdlib (Standard Library)

The rich set of modules that ship with Python, such as os, sys, json, and itertools.

strict vs. duck typing

Python prefers duck typing (behavior-based). Static typing tools (like mypy) provide stricter checks without changing runtime behavior.

subprocess

Module to spawn and communicate with external processes, replace older modules, and manage process I/O safely.

super()

A built-in helper to call methods from a parent class, simplifying cooperative multiple inheritance when used properly.

Syntax

Syntax is the set of rules defining valid Python code; linters and formatters help keep code consistent and readable.

system path (sys.path)

The list of directories Python searches to resolve imports. It can be modified but prefer packaging over manual tweaks.

T14 terms

TabError

An exception raised when Python detects inconsistent use of tabs and spaces in indentation.

Ternary Operator

A shorthand conditional expression written as a if condition else b.

TextIOWrapper

A class from the io module that provides a text interface to a buffered raw stream, handling encoding and decoding.

threading

The standard library module for threads. Threads share memory but are affected by the GIL for CPU-bound work.

Time Complexity

A measure of how an algorithm’s runtime scales with input size, often expressed using Big O notation.

time Module

A standard library module for time-related functions, such as sleeping, measuring performance, and working with timestamps.

Timeout

A limit on how long an operation can take before it is aborted, often used in network requests and threading.

Tokenization

The process of breaking Python source code into tokens, which are the smallest meaningful elements for parsing.

Traceback

The report Python generates when an exception occurs, showing the call stack at the point of error.

Trailing Comma

A comma at the end of a list, tuple, dict, or argument list, allowed in Python and often used to reduce diffs in version control.

try Statement

A control structure used to catch and handle exceptions via try, except, else, and finally clauses.

Tuple

An immutable, ordered collection of elements, written with parentheses (1, 2, 3).

type/typing module

type is the runtime object for types; the typing module offers static typing constructs for annotations.

TypeError

An exception raised when an operation or function is applied to an object of an inappropriate type.

U9 terms

UID (User Identifier)

A numeric value assigned to each user in an operating system; accessible in Python via os.getuid() on Unix-like systems.

Unicode

A universal character encoding standard that supports virtually all written languages. Python 3 strings are Unicode by default.

UnicodeEscape

A string escape sequence format (e.g., \u2764) used to represent Unicode characters in Python source code.

Union Type

A type hint that allows multiple possible types, written as X | Y (Python 3.10+) or typing.Union[X, Y].

unittest/pytest

Testing frameworks: unittest is built-in and class-based; pytest is third-party and favored for concise tests and powerful fixtures.

Unpacking

The process of extracting values from sequences or iterables into variables, using * for positional and ** for keyword arguments.

Update Method

A dictionary method (dict.update()) that merges key-value pairs from another mapping or iterable into the dictionary.

urllib

A standard library package for fetching data across the web using URLs, with modules like urllib.request and urllib.parse.

UTC (Coordinated Universal Time)

The primary time standard by which the world regulates clocks; Python’s datetime supports UTC-aware objects.

V10 terms

ValueError

An exception raised when a function receives an argument of the correct type but with an inappropriate value, such as int("abc").

Variable

A named reference to an object in memory. Python variables are dynamically typed and can be rebound to different types.

Variable Scope

The region of code where a variable is accessible, including local, enclosing, global, and built-in scopes.

Vectorization

The process of applying operations to entire arrays or sequences at once, often via NumPy, for speed and code clarity.

Version Control

A system (e.g., Git) for tracking changes to source code and coordinating work among multiple developers.

view object

Dynamic views returned by dict.keys(), dict.items(), and dict.values() that reflect dictionary changes.

virtual environment

An isolated Python environment (via venv, virtualenv, or Conda) to manage project-specific dependencies.

Virtual Thread

A lightweight concurrency unit (not native to Python) conceptually similar to asyncio tasks, used in some languages and experimental Python runtimes.

Volatile

In computing, data that is lost when power is removed; in Python contexts, often refers to temporary in-memory data or non-persistent caches.

von Neumann Architecture

The computer architecture model where program instructions and data share the same memory and bus, influencing Python’s execution model indirectly.

W14 terms

walk / os.walk

A utility to traverse directory trees yielding directory names and file lists; commonly used when processing files recursively.

weakref

Weak references let you reference objects without increasing their reference count, enabling caches that don’t prevent garbage collection.

web frameworks

Frameworks for building web apps and APIs, e.g., Flask (lightweight), Django (full-featured), and FastAPI (async, modern).

Welcome to the Python Glossary

This guide explains common Python terms in clear, simple language. It helps beginners learn the basics and gives experienced developers a quick way to refresh their knowledge. You’ll find short, direct definitions covering Python’s core features, built-in tools, and useful programming ideas.

wheel (.whl)

A binary distribution format for Python packages that speeds installation by avoiding local builds.

While Loop

A control structure that repeatedly executes a block of code as long as a given condition evaluates to True.

Whitespace

Any space, tab, or newline character used to separate tokens in Python code; indentation using whitespace is syntactically significant.

Wildcard Import

An import statement like from module import * that imports all public names from a module into the current namespace (generally discouraged).

with Statement

A control-flow construct that simplifies resource management by ensuring __enter__ and __exit__ methods are called, often used for files or locks.

Working Directory

The current folder from which a Python script is run; accessible and changeable with os.getcwd() and os.chdir().

Wraps Decorator

A helper from functools that preserves the original function’s metadata when creating decorators.

Write Mode

A file access mode ('w' or 'wb') that overwrites a file or creates it if it doesn’t exist.

WSGI / ASGI

Server interfaces for Python web apps. WSGI is synchronous; ASGI supports asynchronous protocols like WebSocket and HTTP/2.

WSGIRef

A reference implementation of the WSGI standard in Python’s standard library, useful for simple web servers or testing.

X8 terms

X-axis

The horizontal axis in a two-dimensional plot or graph, often representing independent variables in data visualization.

XGBoost

An optimized gradient boosting library used in machine learning, accessible via its Python API.

XML

Extensible Markup Language, a markup format for storing and transporting structured data. In Python, handled by modules like xml.etree.ElementTree or lxml.

XML / JSON

Common data interchange formats; Python provides built-in and third-party modules to parse and produce them (json, xml).

XML-RPC

A remote procedure call protocol using XML to encode requests and responses over HTTP. Python’s xmlrpc module supports it.

XOR (Exclusive OR)

A bitwise operator (^) that returns 1 for each bit position where the corresponding bits of two integers are different.

Xrange

A memory-efficient range-like object in Python 2 that generated numbers lazily. Replaced by range in Python 3.

Xvfb

X Virtual FrameBuffer, a display server implementation that enables GUI applications to run without a physical display. Can be used with Python GUI tests.

Y8 terms

Y-axis

The vertical axis in a two-dimensional plot or graph, often representing dependent variables in data visualization libraries like Matplotlib.

YAML

A human-readable data serialization format often used for configuration files. In Python, handled by libraries like PyYAML or ruamel.yaml.

YAMLLoadWarning

A warning raised by PyYAML when using yaml.load() without specifying a loader, due to potential security issues.

Year

A time unit representing 365 or 366 days. In Python, handled through datetime.date or datetime.datetime objects.

yesno Dialog

A user interface prompt that expects a yes/no answer. Often implemented in GUI frameworks or CLI programs.

yield

A keyword that returns a value from a generator and pauses its state so it can resume later, enabling lazy iteration.

Yield from

A syntax that delegates part of a generator’s operations to another generator, enabling generator composition.

YourKit Profiler

A commercial performance profiling tool that supports Python via integrations, useful for identifying bottlenecks.

Z9 terms

Z-order Curve

A space-filling curve used in spatial indexing to preserve locality when mapping multidimensional data to one dimension.

Zero Padding

Adding leading zeros to a number or string for formatting, often using str.zfill() or format specifiers.

ZeroDivisionError

An exception raised when attempting to divide a number by zero using /, //, or %.

Zip

A built-in function that aggregates elements from multiple iterables into tuples, stopping at the shortest iterable.

zip / gzip / tarfile

Modules for compression and archive handling, supporting common formats and streaming operations.

Zip Import

A feature allowing Python to import modules directly from ZIP archives via zipimport.

zipfile

A standard library module for reading and writing ZIP archive files.

Zombie Process

A process that has completed execution but still has an entry in the process table, usually awaiting acknowledgment by its parent process.

ZoneInfo

A standard library module (Python 3.9+) for IANA time zone support, enabling accurate datetime conversions.