Table of Contents

Python Official Glossary

Return to Python glossary, Python glossaries, Python jargon, Python terms, Python lingo, Python

# and Symbols

A

complex(real=3, imag=5) complex(**{'real': 3, 'imag': 5}) positional argument: an argument that is not a keyword argument. Positional arguments can appear at the beginning of an argument list and/or be passed as elements of an iterable preceded by *. For example, 3 and 5 are both positional arguments in the following calls:

complex(3, 5) complex(*(3, 5)) Arguments are assigned to the named local variables in a function body. See the evaluated value is assigned to the local variable. See also the [[Python parameter glossary entry, the Python FAQ question on the difference between arguments and parameters, and PEP 362.” (POG 2022)

Usually refers to an asynchronous generator function, but may refer to an asynchronous generator iterator in some contexts. In cases where the intended meaning isn’t clear, using the full terms avoids ambiguity.“ (POG 2022)

An asynchronous generator function may contain await expressions as well as async for, and async with statements.” (POG 2022)

This is an asynchronous iterator which when called using the __anext__() method returns an awaitable object which will execute the body of the asynchronous generator function until the next yield expression.” (POG 2022)

Each yield temporarily suspends processing, remembering the location execution state (including local variables and pending try-statements). When the asynchronous generator iterator effectively resumes with another awaitable returned by __anext__(), it picks up where it left off. See PEP 492 and PEP 525.“ (POG 2022)

B

Calling Py_INCREF() on the borrowed reference is recommended to convert it to a strong reference in-place, except when the object cannot be destroyed before the last usage of the borrowed reference. The Py_NewRef() function can be used to create a new strong reference.” (POG 2022)

Some operations need the binary data to be mutable. The documentation often refers to these as “read-write bytes-like objects”. Example mutable buffer objects include bytearray and a memoryview of a bytearray. Other operations require the binary data to be stored in immutable objects (“read-only bytes-like objects”); examples of these include bytes and a memoryview of a bytes object.” (POG 2022)

C

D

The decorator syntax is merely syntactic sugar, the following two function definitions are semantically equivalent:

def f(arg):

   ...
f = staticmethod(f)

@staticmethod def f(arg):

   ...
The same concept exists for classes, but is less commonly used there. See the documentation for function definitions and class definitions for more about decorators.” (POG 2022)

E

F

There are actually three categories of file objects: raw binary files, buffered binary files and text files. Their interfaces are defined in the io module. The canonical way to create a file object is by using the open() function.“ (POG 2022)

“The filesystem encoding must guarantee to successfully decode all bytes below 128. If the file system encoding fails to provide this guarantee, API functions can raise UnicodeError.” (POG 2022)

The sys.getfilesystemencoding() and sys.getfilesystemencodeerrors() functions can be used to get the filesystem encoding and error handler.” (POG 2022)

The filesystem encoding and error handler are configured at Python startup by the PyConfig_Read() function: see filesystem_encoding and filesystem_errors members of PyConfig.“ (POG 2022)

See also the Python locale encoding.

Since Python 3.3, there are two types of finder: meta path finders for use with sys.meta_path, and path entry finders for use with sys.path_hooks. See PEP 302, PEP 420 and PEP 451 for much more detail.“ (POG 2022)

def sum_two_numbers(a: int, b: int) → int:

  return a + b
Function annotation syntax is explained in section Function definitions. See variable annotation and [[PEP 484, which describe this functionality. Also see Annotations Best Practices for best practices on working with annotations.“ (POG 2022)


import __future__
__future__.division
 _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)

G

Usually refers to a generator function, but may refer to a generator iterator in some contexts. In cases where the intended meaning isn’t clear, using the full terms avoids ambiguity.“ (POG 2022)


sum(i*i for i in range(10)) # sum of squares 0, 1, 4, … 81

285

However, some extension modules, either standard or third-party, are designed so as to release the GIL when doing computationally-intensive tasks such as compression or hashing. Also, the GIL is always released when doing I/O.” (POG 2022)

Past efforts to create a “free-threaded” interpreter (one which locks shared data at a much finer granularity) have not been successful because performance suffered in the common single-processor case. It is believed that overcoming this performance issue would make the implementation much more complicated and therefore costlier to maintain.“ (POG 2022)

H

Hashability makes an object usable as a dictionary key and a set member, because these data structures use the hash value internally.“ (POG 2022)

Most of Python’s immutable built-in objects are hashable; mutable containers (such as lists or dictionaries) are not; immutable containers (such as tuples and frozensets) are only hashable if their elements are hashable. Objects which are instances of user-defined classes are hashable by default. They all compare unequal (except with themselves), and their hash value is derived from their id().” (POG 2022)

I

“The main reason for interpreter shutdown is that the __main__ module or the script being run has finished executing.” (POG 2022)

“Iterables can be used in a for loop and in many other places where a sequence is needed (zip(), map(), …). When an iterable object is passed as an argument to the built-in function iter(), it returns an iterator for the object. This iterator is good for one pass over the set of values. When using iterables, it is usually not necessary to call iter() or deal with iterator objects yourself. The for statement does that automatically for you, creating a temporary unnamed variable to hold the iterator for the duration of the loop. See also Python iterator, Python sequence, and Python generator.” (POG 2022)

“CPython implementation detail: CPython does not consistently apply the requirement that an iterator define __iter__().” (POG 2022)

K

A number of tools in Python accept key functions to control how elements are ordered or grouped. They include min(), max(), sorted(), list.sort(), heapq.merge(), heapq.nsmallest(), heapq.nlargest(), and itertools.groupby().” (POG 2022)

There are several ways to create a key function. For example. the str.lower() method can serve as a key function for case insensitive sorts. Alternatively, a key function can be built from a lambda expression such as lambda r: (r[0], r[2]). Also, the operator module provides three key function constructors: attrgetter(), itemgetter(), and methodcaller(). See the Sorting HOW TO for examples of how to create and use key functions.“ (POG 2022)

L

In a multi-threaded environment, the LBYL approach can risk introducing a race condition between “the looking” and “the leaping”. For example, the code, if key in mapping: return mapping[key] can fail if another thread removes key from mapping after the test, but before the lookup. This issue can be solved with locks or by using the EAFP approach.“ (POG 2022)

M

N

Several built-in types are named tuples, including the values returned by time.localtime() and os.stat(). Another example is sys.float_info:” (POG 2022)


sys.float_info[1] # indexed access

1024

sys.float_info.max_exp # named field access

1024

isinstance(sys.float_info, tuple) # kind of tuple

True

“Some named tuples are built-in types (such as the above examples). Alternatively, a named tuple can be created from a regular class definition that inherits from tuple and that defines named fields. Such a class can be written by hand or it can be created with the factory function collections.namedtuple(). The latter technique also adds some extra methods that may not be found in hand-written or built-in named tuples.” (POG 2022)

O

P

Parameters can specify both optional and required arguments, as well as default values for some optional arguments.“ (POG 2022)

See also the Python argument glossary entry, the Python FAQ question on the difference between arguments and parameters, the inspect.Parameter class, the Python function definitions section, and PEP 362.

“PEPs are intended to be the primary mechanisms for proposing major new features, for collecting community input on an issue, and for documenting the design decisions that have gone into Python. The PEP author is responsible for building consensus within the community and documenting dissenting opinions. See PEP 1.” (POG 2022)

“Even for provisional APIs, backwards incompatible changes are seen as a “solution of last resort” - every attempt will still be made to find a backwards compatible resolution to any identified problems.” (POG 2022)

“This process allows the standard library to continue to evolve over time, without locking in problematic design errors for extended periods of time. See PEP 411 for more details.” (POG 2022)

for i in range(len(food)):

   print(food[i])
As opposed to the cleaner, Pythonic method:

for piece in food:

   print(piece)

qualified name

A dotted name showing the “path” from a module’s global scope to a class, function or method defined in that module, as defined in PEP 3155. For top-level functions and classes, the qualified name is the same as the object’s name:” (POG 2022)


class C:

… class D: … def meth(self): … pass …

C.__qualname__

'C'

C.D.__qualname__

'C.D'

C.D.meth.__qualname__

'C.D.meth'

When used to refer to modules, the fully qualified name means the entire dotted path to the module, including any parent packages, e.g. email.mime.text:“ (POG 2022)


import email.mime.text
email.mime.text.__name__

'email.mime.text'

R

S

The collections.abc.Sequence abstract base class defines a much richer interface that goes beyond just __getitem__() and __len__(), adding count(), index(), __contains__(), and __reversed__(). Types that implement this expanded interface can be registered explicitly using register().” (POG 2022)

“The Py_NewRef() function can be used to create a strong reference to an object. Usually, the Py_DECREF() function must be called on the strong reference before exiting the scope of the strong reference, to avoid leaking one reference. See also Python borrowed reference.” (POG 2022)

T

def remove_gray_shades(

       colors: list[tuple[int, int, int]]) -> list[tuple[int, int, int]]:
   pass

could be made more readable like this:

Color = tuple[int, int, int]

def remove_gray_shades(colors: list[Color]) → list[Color]:

   pass

See Python typing and PEP 484, which describe this functionality.“ (POG 2022)

U

V

class C:

   field: 'annotation'
Variable annotations are usually used for type hints: for example this variable is expected to take int values:

count: int = 0 Variable annotation syntax is explained in section Annotated assignment statements.

See function annotation, [[PEP 484 and PEP 526, which describe this functionality. Also see Python Annotations Best Practices for best practices on working with annotations.“ (POG 2022)

Z


© Copyright 2001-2022, Python Software Foundation.

This page is licensed under the Python Software Foundation License Version 2.

Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.

The Python Software Foundation is a non-profit corporation. Please donate.

Last updated on Apr 26, 2022.

Fair Use Sources

Fair Use Sources:

Python: Python Variables, Python Data Types, Python Control Structures, Python Loops, Python Functions, Python Modules, Python Packages, Python File Handling, Python Errors and Exceptions, Python Classes and Objects, Python Inheritance, Python Polymorphism, Python Encapsulation, Python Abstraction, Python Lists, Python Dictionaries, Python Tuples, Python Sets, Python String Manipulation, Python Regular Expressions, Python Comprehensions, Python Lambda Functions, Python Map, Filter, and Reduce, Python Decorators, Python Generators, Python Context Managers, Python Concurrency with Threads, Python Asynchronous Programming, Python Multiprocessing, Python Networking, Python Database Interaction, Python Debugging, Python Testing and Unit Testing, Python Virtual Environments, Python Package Management, Python Data Analysis, Python Data Visualization, Python Web Scraping, Python Web Development with Flask/Django, Python API Interaction, Python GUI Programming, Python Game Development, Python Security and Cryptography, Python Blockchain Programming, Python Machine Learning, Python Deep Learning, Python Natural Language Processing, Python Computer Vision, Python Robotics, Python Scientific Computing, Python Data Engineering, Python Cloud Computing, Python DevOps Tools, Python Performance Optimization, Python Design Patterns, Python Type Hints, Python Version Control with Git, Python Documentation, Python Internationalization and Localization, Python Accessibility, Python Configurations and Environments, Python Continuous Integration/Continuous Deployment, Python Algorithm Design, Python Problem Solving, Python Code Readability, Python Software Architecture, Python Refactoring, Python Integration with Other Languages, Python Microservices Architecture, Python Serverless Computing, Python Big Data Analysis, Python Internet of Things (IoT), Python Geospatial Analysis, Python Quantum Computing, Python Bioinformatics, Python Ethical Hacking, Python Artificial Intelligence, Python Augmented Reality and Virtual Reality, Python Blockchain Applications, Python Chatbots, Python Voice Assistants, Python Edge Computing, Python Graph Algorithms, Python Social Network Analysis, Python Time Series Analysis, Python Image Processing, Python Audio Processing, Python Video Processing, Python 3D Programming, Python Parallel Computing, Python Event-Driven Programming, Python Reactive Programming.

Variables, Data Types, Control Structures, Loops, Functions, Modules, Packages, File Handling, Errors and Exceptions, Classes and Objects, Inheritance, Polymorphism, Encapsulation, Abstraction, Lists, Dictionaries, Tuples, Sets, String Manipulation, Regular Expressions, Comprehensions, Lambda Functions, Map, Filter, and Reduce, Decorators, Generators, Context Managers, Concurrency with Threads, Asynchronous Programming, Multiprocessing, Networking, Database Interaction, Debugging, Testing and Unit Testing, Virtual Environments, Package Management, Data Analysis, Data Visualization, Web Scraping, Web Development with Flask/Django, API Interaction, GUI Programming, Game Development, Security and Cryptography, Blockchain Programming, Machine Learning, Deep Learning, Natural Language Processing, Computer Vision, Robotics, Scientific Computing, Data Engineering, Cloud Computing, DevOps Tools, Performance Optimization, Design Patterns, Type Hints, Version Control with Git, Documentation, Internationalization and Localization, Accessibility, Configurations and Environments, Continuous Integration/Continuous Deployment, Algorithm Design, Problem Solving, Code Readability, Software Architecture, Refactoring, Integration with Other Languages, Microservices Architecture, Serverless Computing, Big Data Analysis, Internet of Things (IoT), Geospatial Analysis, Quantum Computing, Bioinformatics, Ethical Hacking, Artificial Intelligence, Augmented Reality and Virtual Reality, Blockchain Applications, Chatbots, Voice Assistants, Edge Computing, Graph Algorithms, Social Network Analysis, Time Series Analysis, Image Processing, Audio Processing, Video Processing, 3D Programming, Parallel Computing, Event-Driven Programming, Reactive Programming.


Python Glossary, Python Fundamentals, Python Inventor: Python Language Designer: Guido van Rossum on 20 February 1991; PEPs, Python Scripting, Python Keywords, Python Built-In Data Types, Python Data Structures - Python Algorithms, Python Syntax, Python OOP - Python Design Patterns, Python Module Index, pymotw.com, Python Package Manager (pip-PyPI), Python Virtualization (Conda, Miniconda, Virtualenv, Pipenv, Poetry), Python Interpreter, CPython, Python REPL, Python IDEs (PyCharm, Jupyter Notebook), Python Development Tools, Python Linter, Pythonista-Python User, Python Uses, List of Python Software, Python Popularity, Python Compiler, Python Transpiler, Python DevOps - Python SRE, Python Data Science - Python DataOps, Python Machine Learning, Python Deep Learning, Functional Python, Python Concurrency - Python GIL - Python Async (Asyncio), Python Standard Library, Python Testing (Pytest), Python Libraries (Flask), Python Frameworks (Django), Python History, Python Bibliography, Manning Python Series, Python Official Glossary - Python Glossary, Python Topics, Python Courses, Python Research, Python GitHub, Written in Python, Python Awesome List, Python Versions. (navbar_python - see also navbar_python_libaries, navbar_python_standard_library, navbar_python_virtual_environments, navbar_numpy, navbar_datascience)

Major Glossary Categories: Information Technology - IT - Computing Topics, AWS Glossary, Azure Glossary, C Language Glossary (21st Century C Glossary), C++ Glossary, C# Glossary, Cloud Glossary, Cloud Native Glossary, Clojure Glossary, COBOL Glossary, Cybersecurity Glossary, DevOps Glossary, Fortran Glossary, Functional Programming Glossary, Golang Glossary, GCP Glossary, IBM Glossary, IBM Mainframe Glossary, iOS Glossary, Java Glossary, JavaScript Glossary, Kotlin Glossary, Kubernetes Glossary, Linux Glossary, macOS Glossary, MongoDB Glossary, PowerShell Glossary, Python Glossary and Python Official Glossary, Ruby Glossary, Rust Glossary, Scala Glossary, Concurrency Glossary, SQL Glossary, SQL Server Glossary, Swift Glossary, TypeScript Glossary, Windows Glossary, Windows Server Glossary, GitHub Glossary, Awesome Glossaries. (navbar_glossary)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.