Module (11%)
Section (73%)

Type conversion methods

Python offers a set of methods responsible for the conversion of built-in data types.

FunctionMagic methodImplementation meaning or purpose
int()__int__(self)conversion to integer type
float()__float__(self)conversion to float type
oct()__oct__(self)conversion to string, containing an octal representation
hex()__hex__(self)conversion to string, containing a hexadecimal representation

Object introspection

Python offers a set of methods responsible for representing object details using ordinary strings.

FunctionMagic methodImplementation meaning or purpose
str()__str__(self)responsible for handling str() function calls
repr()__repr__(self)responsible for handling repr() function calls
format()__format__(self, formatstr)called when new-style string formatting is applied to an object
hash()__hash__(self)responsible for handling hash() function calls
dir()__dir__(self)responsible for handling dir() function calls
bool()__nonzero__(self)responsible for handling bool() function calls

Object retrospection

Following the topic of object introspection, there are methods responsible for object reflection.

FunctionMagic methodImplementation meaning or purpose
isinstance(object, class)__instancecheck__(self, object)responsible for handling isinstance() function calls
issubclass(subclass, class)__subclasscheck__(self, subclass)responsible for handling issubclass() function calls

Object attribute access

Access to object attributes can be controlled via the following magic methods

Expression exampleMagic methodImplementation meaning or purpose
object.attribute__getattr__(self, attribute)responsible for handling access to a non-existing attribute
object.attribute__getattribute__(self, attribute)responsible for handling access to an existing attribute
object.attribute = value__setattr__(self, attribute, value)responsible for setting an attribute value
del object.attribute__delattr__(self, attribute)responsible for deleting an attribute

Methods allowing access to containers

Containers are any object that holds an arbitrary number of other objects; containers provide a way to access the contained objects and to iterate over them. Container examples: list, dictionary, tuple, and set.

Expression exampleMagic methodImplementation meaning or purpose
len(container)__len__(self)returns the length (number of elements) of the container
container[key]__getitem__(self, key)responsible for accessing (fetching) an element identified by the key argument
container[key] = value__setitem__(self, key, value)responsible for setting a value to an element identified by the key argument
del container[key]__delitem__(self, key)responsible for deleting an element identified by the key argument
for element in container__iter__(self)returns an iterator for the container
item in container__contains__(self, item)responds to the question: does the container contain the selected item?

The list of special methods built-in in Python contains more entities. For more information, refer to https://docs.python.org/3/reference/datamodel.html#special-method-names.