Source python что это
Справочник
Встроенные функции Python
Возвращает абсолютную величину (модуль числа).
all(iterable)
Проверяет, все ли указанные элементы принимают значение «истина».
iterable : Объект, поддерживающий итерирование.
Вернёт True, если все элементы итерируемого объекта представляются истиной (True).
Внимание: Также возвращает True, если итерируемый объект пуст.
any(iterable)
Проверяет, есть ли среди указанных элементов хотя бы один, принимающий значение «истина».
iterable : Объект, поддерживающий итерирование.
Вернёт True, если любой из элементов итерируемого объекта явится истиной.
Внимание: Возвращает False, если итерируемый объект пуст.
ascii(object)
Возвращает строковое представление объекта с экранированными не-ASCII символами.
object : Объект, для которого требуется создать строковое представление.
Как и repr(), возвращает строковое представление объекта object, но при этом экранирует не-ASCII символы, возвращённые repr() при помощи \x, \u или \U.
Преобразование целого числа в двоичную строку.
Преобразует целое число в двоичную строку. Результатом будет полноценное Python-выражение.
bool([x])
Преобразование к типу bool, использующая стандартную процедуру проверки истинности. Если х является ложным или опущен, возвращает значение False, в противном случае она возвращает True.
bytearray([source[, encoding[, errors]]])
mode : Режим компиляции кода: exec, если код состоит из последовательности инструкций; eval, если код содержит одно выражение; single, если код состоит из одной инструкции. Если код содержит несколько строк, то при использовании режимов single и eval (а до версии 3.2 ещё и exec), нужно завершить ввод не меньшей мере одним символом перевода строки.
Если исходный код содержит ошибку возбуждается исключение SyntaxError, если он содержит нулевые байты — исключение TypeError.
Объекты кода могут быть исполнены при помощи exec() или eval().
complex([real[, imag]])
Преобразование к комплексному числу.
delattr(obj, name)
Удаляет из объекта указанный атрибут.
obj : object Объект, из которого следует удалить атрибут.
name : str Строка с именем атрибута, который должен быть удалён из указанного объекта.
Атрибут объекта (свойство, метод, элемент) будет удалён в случае, если объект разрешает/поддерживает это действие.
Метод зачастую используется в случаях, когда имя атрибута заранее неизвестно и содержится в переменной.
Синоним: директива del.
Для возвращения атрибута используется getattr(). Для установки атрибута используется setattr(). Для проверки существования атрибута используется hasattr().
dir([obj])
Возвращает имена [переменных], доступные в локальной области, либо атрибуты указанного объекта в алфавитном порядке.
obj : Объект, для которого следует вернуть имена атрибутов.
При вызове без аргумента, возвращает имена [переменных], доступные в локальной области, иначе — атрибуты указанного объекта.
Определение в классе метода dir(), возвращающего список и имён, позволяет варьировать результат выполнения данной функии для экземпляров класса. Это может быть особенно полезно, когда класс определяет также методы доступа к атрибутам: getattr() и getattribute().
Для объектов, класс которых не определил dir(), функция попытается определить атрибуты по данным dict.
Возвращаемый список может включать не все атрибуты, особенно в случаях с переопределенным getattr().
Механизм извлечения имён может быть реализован по разному для различных типов: 1. Если объект является модулем, список будет содержать имена атрибутов модуля; 2. Если объект является типом или классом, список будет содержать имена атрибутов данного объекта и его родителей (вычисляются рекурсивно). 3. В других случаях список будет содержать имена атрибутов самого объекта, его класса, и классов-родителей (вычисляются рекурсивно).
dict([object])
Создаёт новый словарь. Объект dict является классом словаря.
divmod()
Для целочисленного деления возвращает пару частное-остаток от деления аргументов.
a : Число. Делимое.
b : Число. Делитель.
Если аргументы являются разными типами действуют правила двоичной арифметики.
Для целых результат аналогичен (a // b, a % b).
enumerate(sequence[, start=0])
Возвращает генератор, отдающий пары счётчик-элемент для элементов указанной последовательности.
sequence : iterable Любая последовательность, итератор, или объект, поддерживающий итерирование.
start=0 : int Начальное значение счётчика.
Функция применяется в случаях, когда необходим счётчик количества элементов в последовательности.
Позволяет избавиться от необходимости инициализировать и обновлять отдельную переменную-счётчик:
eval(expression, globals=None, locals=None)
Разбирает и исполняет указанное выражение.
expression : Выражение, которое требуется исполнить, в виде строки. Либо объект кода.
globals=None : Ожидается dict. Словарь глобального пространства, относительно которого следует исполнить выражение. Если указан, но не содержит атрибута builtins данные указанного пространства будут дополнены данными общего глобального пространства, перед разбором выражения. Таким образом, выражение будет иметь доступ ко всем встроенным модулям.
locals=None : Ожидается объект-отображение (например, dict). Локальное пространство, в котором следует исполнить выражение. Если не указано, то используется словарь глобального пространства. Если оба аргумента опущены, то выражение будет выполнено в среде, где был осуществлён вызов функции. В случае ошибок возбуждает SyntaxError.
Данная функция также может быть использована для выполнения произвольных объектов кода, например тех, что возвращает compile().
Если объект кода собран в режиме exec будет возвращено None.
exec(obj[, globals[, locals]])
Динамически исполняет указанный код.
obj : Строка кода, либо объект кода. Поддерживается ввод данных из файлов (считываются до EOF). Если передана строка, она разбирается в набор инструкций, который потом исполняется (если отсутствуют синтаксические ошибки). Если передан объект кода, то он исполняется. Необязательные аргументы (см. ниже) могут быть указаны в виде кортежа прямо после инструкции.
globals : Ожидается dict. Словарь глобального пространства, относительно которого следует исполнить код. Если locals не передан, будет использован globals. Если словарь не имеет значения по ключу builtins, на это место вставляется ссылка на значение аналогичного атрибута глобального пространства. Модифицировав builtins словаря передаваемого в функцию, вы можете контролировать, какие какие из встроенных инструментов будут доступны коду.
locals : Ожидается объект-отображение (например, dict). Локальное пространство, в котором следует исполнить код.
Если дополнительные параметры опущены, код исполняется в текущем пространстве.
Не следует пытаться модифицировать словарь locals (см. описание locals()). Если требуется влияние кода, исполненного exec() на локальную область, явно передавайте словарь locals.
filter((func, iterable)
При помощи указанной функции фильтрует элементы переданного объекта.
func : Фильтрующая функция. Должна принимать элемент фильтруемого объекта. Если функция вернёт False, данный элемент не попадёт в результат. Если передано None, считается что требуется применить тождественное отображение (lambda *args: args), таким образом все элементы, оцениваемые как False будут отфильтрованы.
iterable : Объект, элементы которого следует отфильтровать. Может быть последовательностью, объектом поддерживающим итерирование, либо итератором. Если объект является строкой, или кортежем, результат будет соответствующего типа, в остальных случаях возвращается список.
float([x])
Преобразование к числу с плавающей точкой. Если аргумент не указан, возвращается 0.0.
format(value[, format_spec])
Форматирует указанное значение.
value : Значение, которое требуется отформатировать.
format_spec : Настройки формата, в соответствии с которыми требуется выполнить форматирование. Интерпретация настроек зависит от типа значения. По умолчанию — пустая строка (обычно приводит к тому же эффекту, что и применение str ()).
Интерпретация настроек форматирования зависит от типа переданного значения, однако большинство встроенных типов используют общий мини-язык форматирования.
Вызов этой функции format(value, formatspec) транслируется в type(value).format(value, formatspec), при этом словарь экземпляра при поиске метода format() во внимание не берётся.
frozenset([iterable])
Возвращает неизменяемое множество.
getattr(obj, name[, default])
Возвращает значение атрибута объекта.
obj : object Объект, значение атрибута которого требуется получить.
name : str Имя атрибута, значение которого требуется получить.
default : Значение по умолчанию, которое будет возвращено, если объект не располагает указанным атрибутом. Если не задано, и атрибут отсутствует, возбуждается исключение AttributeError. Функция возвращает значение атрибута указанного объекта по имени.
Обычно используется в тех случаях, когда объект и/или имя атрибута может варьироваться (является переменной).
Для установки атрибута используется setattr(). Для удаления атрибута используется delattr(). Для проверки существования атрибута используется hasattr().
globals()
Возвращает словарь с глобальной таблицей символов, определённых в модуле.
Возвращает словарь с глобальной таблицей символов — словарь текущего модуля.
Если вызвана внутри функции/метода возвращает словарь модуля, в котором функция или метод определены, но не модуля из которых они были вызваны.
hasattr(obj, name)
Возвращает флаг, указывающий на то, содержит ли объект указанный атрибут.
obj : object Объект, существование атрибута в котором нужно проверить.
name : str Имя атрибута, существование которого требуется проверить. Возвращает True, если атрибут существует, иначе — False.
Функция основывается на вызове getattr() с последующей проверкой на предмет случившегося исключения.
Для возвращения атрибута используется getattr(). Для установки атрибута используется setattr(). Для удаления атрибута используется delattr().
hash(obj)
Возвращает хеш указанного объекта.
Хеш используется, в частности, для быстрого сравнения ключей при поиске по словарям. Равные числовые значения имеют одинаковый хеш, даже если значения принадлежат разным типам (например, 1 и 1.0).
Пользовательские типы могут переопределять метод hash(), результат которого будет использован при вызове hash(). Однако, следует помнить, что функция hash() обрезает значение в соответствии с битностью хоста.
Возвращает строку с шестнадцатеричным представлением указанного целого.
Получаемая строка имеет нижний регистр и префикс 0x.
id(obj)
Возвращает идентификатор указанного объекта.
obj : Объект, идентификатор которого требуется получить.
Возвращает целое, гарантированно являющееся уникальным и постоянным для объекта на время его существования.
Таким образом, объекты, периоды существования которых не пересекаются, могут иметь одинаковый идентификатор.
input([prompt])
Считывает и возвращает строку входных данных.
prompt : Строка-приглашение, которая должна быть отправлена на стандартное устройство вывода (заключительный перевод каретки при этом удаляется). Если загружен модуль readline, тогда функция воспользуется им для удобства ввода пользователя (например, для поддержки истории команд).
Функция считывает строку данных, полученную с устройства ввода и возвращает её без заключительного перевода каретки.
В случае считывания EOF (признак конца файла), поднимается исключение EOFError.
int([x=0, [base=10]])
Преобразует x к целому числу в десятичной системе счисления. Вместо десятичной системы можно указать любое основание от 2 до 36 включительно.
import(name, globals=None, locals=None, fromlist=(), level=0)
iter(obj[, sentinel])
Возвращает объект итератора.
obj : Объект коллекции, поддерживающей итерирование (реализует iter()), либо объект, поддерживающий протокол последовательности (реализует getitem(), где аргумент целое, начиная с нуля). Если передан другой объект, возбуждается TypeError.
sentinel : Если этот аргумент предоставлен, то ожидается, что obj содержит объект, поддерживающий вызов. В этом случае, созданный итератор будет вызывать указанный объект (без аргументов) с каждым обращением к своему next() и проверять полученное значение на равенство с sentinel. Если полученное значение равно sentinel, возбуждается StopIteration, иначе возвращается полученное значение. Функция возвращает итератор по объекту, поддерживающему итерирование по его элементам.
Одно из применений sentinel — чтение строк, пока не будет достигнута нужная. Следующий пример считывает файл, пока метод readline() не вернёт пустую строку:
Пользовательский тип, определивший call():
isinstance()
Возвращает флаг, указывающий на то, является ли указанный объект экземпляром указанного класса (классов).
issubclass(cls, classinfo)
Возвращает флаг, указывающий на то, является ли указанный класс подклассом указанного класса (классов).
cls : Класс, требующий проверки.
classinfo : Класс, либо кортеж с классами. Если аргумент не является классом, либо кортежем с классами, возбуждается TypeError. Возвращает True, если указанный класс является подклассом указанного класса (классов). Класс считается подклассом самого себя.
Для проверки того, является ли объект экземпляром класса (классов) используйте isinstance.
len(obj)
Возвращает число элементов в указанном объекте-контейнере.
obj : Объект-контайнер, число элементов в котором требуется определить. Возвращает число элементов в контейнерах: объекте-последовательности (строка, байты, кортеж, список, диапазон) или объекте-коллекции (словарь, множество, неизменяемое множество и пр.).
list([iterable])
locals()
Возвращает словарь, представляющий текущую локальную таблицу символов.
Обновляет и возвращает словарь с текущей локальной таблицей символов.
Если функция вызвана внутри другой функции, то она возвращает также свободные (объявленные вне функции, но используемые внутри неё) переменные.
map(func, iterable, …)
Применяет указанную функцию к каждому элементу указанной последовательности/последовательностей.
func : Функция, которую следует применить к элементам последовательности или последовательностей. Должна принимать количество элементов равное количеству последовательностей. Если передано None, считается что требуется применить тождественное отображение (lambda *args: args), при этом, если передано несколько последовательностей результат будет содержать кортежи с данными из каждой из них.
iterable : Последовательность (или объект, поддерживающий итерирование), к элементам которой требуется применить функцию. Если в какой‑либо из последовательностей количество элементов меньше, чем в остальных, недостающие элементы считаются None. Итератор останавливается, когда самая короткая из последовательностей исчерпана.
max(iterable, *args[, key, default])
Возвращает элемент с набольшим значением из переданных в функцию.
iterable : Если указан один позиционный аргумент, то ожидается, что он является итерируемым объектом. Возвращается элемент с максимальным значением, найденный среди элементов этого объекта.
args : Если указано несколько позиционных аргументов, элемент с наибольшим значением разыскивается среди них.
default : Этим аргументом можно указать значение, которое следует вернуть, если итерируемый объект окажется пустым. Если последовательность пуста и аргумент не указан, возбуждается ValueError.
В указанном итерируемом объекте, или среди аргументов, обнаруживает и возвращает элемент с набольшим значением.
memoryview(obj)
Создает объект memoryview.
Возвращает элемент с наименьшим значением из переданных в функцию.
iterable: Если указан один позиционный аргумент, то ожидается, что он является итерируемым объектом. Возвращается элемент с минимальным значением, найденный среди элементов этого объекта.
args: Если указано несколько позиционных аргументов, элемент с наименьшим значением разыскивается среди них.
default: Этим аргументом можно указать значение, которое следует вернуть, если итерируемый объект окажется пустым. Если последовательность пуста и аргумент не указан, возбуждается
В указанном итерируемом объекте, или среди аргументов, обнаруживает и возвращает элемент с наименьшим значением.
next(iter[, default])
Возвращает следующий элемент итератора.
iter : Объект итератора, возвращающий элементы.
default : Значение, которое должно быть возвращено вместо возбуждения StopIteration, в случае исчерпания элементов при итерации.
Функция вызывает метод next() указанного объекта для получения следующего элемента.
При исчерпании элементов, возбуждается исключение StopIteration.
object()
Возвращает безликий объект, являющийся базовым для всех объектов.
open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Открывает файл и возвращает представляющий его объект.
file : Строка или байтовая строка, представляющая путь (абсолютный, либо относительный для текущей рабочей директории) к файлу, который требуется открыть. Либо целое, являющееся дескриптором файла (он будет закрыт при закрытии возвращаемого объекта ввода/вывода, при условии, что closefd установлен в True).
mode=r : Строка, обозначающая режим, в котором следует открыть файл.
buffering=-1 : Целое. Политика буферизации. 0 — отключить буферизацию (только для двоичного режима); 1 — построчная буферизация (только для текстового режима); > 1 — размер буфера в байтах. Если не указана, используются политика буферизации по умолчанию (см. ниже).
encoding=None : Имя кодировки для кодирования/декодирования файла. Следует указывать только для текстовых файлов. Если не указана, используется системная кодировка: для определения вызывается locale.getpreferredencoding(False). При чтении и записи двоичных файлов указывать кодировку не следует. Список поддерживаемых кодировок можно найти в модуле codecs.
errors=None : Строка, обозначающая режим, в котором будут обрабатываться ошибки кодирования/декодирования. Следует использовать только для текстовых файлов. В модуле codecs предопределено несколько режимов, пользовательские могут быть зарегистрированы при помощи codecs.register_error().
newline=None : Строка, определяющая режим работы универсальных переводов строк. Следует использовать только для текстовых файлов. Варианты: None, пустая строка, \n, \r, и \r\n. None — при чтении потока будут использованы универсальные переводы строк (\n, \r и \r\n будут преобразованы в \n); при записи — \n преобразуются в разделитель, используемый в системе (os.linesep). Пустая строка — при чтении также используются универсальные переводы строк, однако символы не будут преобразованы в \n; при записи преобразование не происходит. Другие значения — при чтении разбивка на строки осуществляется при помощи значения, преобразование не производится; при записи \n преобразуются в указанное значение.
closefd=True : Флаг необходимости закрытия файлового дескриптора. Используется только, если в file указан дескриптор, иначе возбуждается исключение. Если False, то дескриптор будет оставлен открытым даже после закрытия файла.
opener=None : Пользовательский объект, поддерживающий вызов, который следует использовать для открытия файла. Этот объект получая на входе file и flags, должен возвращать открытый дескриптор файла (возврат os.open и None при этом функционально идентичны). Описание объектов типа file можно найти в одноимённом разделе — file.
Если файл не может быть открыт, возбуждается исключение OSError.
ord(chr)
Возвращает числовое представление для указанного символа.
chr : Символ, который следует представить в виде целого.
pow(x, y[, z])
Возвращает результат возведения числа в степень, с опциональным делением по модулю.
x : Число, которое требуется возвести в степень.
y : Число, являющееся степенью, в которую нужно возвести первый аргумент. Если число отрицательное, аргумент z не принимается.
z : Число, на которое требуется произвести деление по модулю. Если число указано, ожидается, что x и y положительны и имеют тип int.
Ожидаются аргументы численных типов.
Если переданы операнды разных типов, приведение производится по правилам двоичной арифметики.
Случай использования только первых двух аргументов pow(x, y) эквивалентен использованию оператора возведения в степень: x ** y. Нотация с тремя аргументами используется для возведения в степень по модулю.
property(fget=None, fset=None, fdel=None, doc=None)
print(*objs, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
Выводит заданные объекты на экран или отправляет их текстовым потоком в файл.
objs : Объекты, которые требуется отправить в файл.
sep=»» : Строка, которой следует разделить объекты. None — использовать значение по умолчанию. Ожидается, что аргумент будет передан по имени.
end=\n** : Строка, которой следует поставить после всех объектов. None — использовать значение по умолчанию. Ожидается, что аргумент будет передан по имени.
file=sys.stdout : Ожидается объект, реализующий метод wrtite(string). Если значение не указано, либо None будет использован sys.stdout. Ожидается, что аргумент будет передан по имени.
flush= False : Если True поток будет сброшен в файл принудительно. Обычно же необходимость буферизации определяется типом файла.
Объекты будут преобразованы в строку по тем же правилам, по которым работает str()
Если объекты не указаны, запишет значение из параметра end.
range(start, stop[, step])
Арифметическая прогрессия от start до stop с шагом step.
repr(obj)
Возвращает формальное строковое представление указанного объекта.
obj : Объект для которого требуется получить формальное строковое представление. Для многих типов функция возвращает строку, которая при передаче в eval() может произвести объект с тем же значением, что и исходный.
В других случаях представление является строкой, обрамлённой угловыми скобками ( ), содержащей название типа и некую дополнительную информацию, часто — название объекта и его адрес в памяти.
reversed(seq)
round(number[, ndigits])
Возвращает число с плавающей запятой, округлённое до указанного количества цифр после запятой.
number : Число, которое требуется округлить.
ndigits : Количество знаков после запятой. Если не указано, то равно 0.
Для встроенных типов, поддерживающих функцию, значения округляются до ближайшего кратного 10 в степени минус ndigits; если два кратных одинаково близки, округление производится в сторону чётного. Так, например, и round(0.5) и round(-0.5) равны 0, но round(1.5) равно 2.
set(object, name, value)
setattr(obj, name, value)
Добавляет объекту указанный атрибут.
obj : object Объект, который следует дополнить атрибутом.
name : str Строка с именем атрибута. Можно указывать как имя нового, так и существующего атрибута.
value : Произвольное значение атрибута.
Атрибут объекта (свойство, метод, элемент) будет добавлен в случае, если объект разрешает/поддерживает это действие.
Метод зачастую используется в случаях, когда имя атрибута и/или значение заранее неизвестно и содержится в переменной.
Для возвращения атрибута используется getattr().
Для удаления атрибута используется delattr().
Для проверки существования атрибута используется hasattr().
sorted(iterable[, key][, reverse])
Возвращает новый отсортированный список, составленный из элементов итерирующегося объекта.
iterable : Объект, поддерживающий итерирование, элементы которого требуется упорядочить.
cmp=None : Ожидается в форме именованного аргумента. Функция, принимающая аргументами два стоящих рядом элемента, которая должна вернуть отрицательное число (если первый меньше второго), нуль (если равны) и положительное (если первый больше второго). Например: cmp=lambda x,y: cmp(x.lower(), y.lower()). Использование сочетаний key + reverse намного быстрее эквивалентной cmp-функции из‑за того, что в первом случае обращение к каждому из элементов происходит единожды, а во втором по несколько раз.
key=None : Ожидается в форме именованного аргумента. Функция, принимающая аргументом элемент, используемая для получения из этого элемента значения для сравнения его с другими. None — сравнить элементы напрямую. Например: key=str.lower.
reverse=False : Ожидается в форме именованного аргумента. Флаг, указывающий следует ли производить сортировку в обратном порядке.
Сортировка при помощи данной функции является стабильной — гарантирует неизменность расположения равных между собой элементов. Такое поведение полезно при сортировке в несколько проходов (например, сортировка по отделу и уровню заработной платы).
str(object=»)
Строковое представление объекта.
staticmethod(function)
Представляет указанную функцию статичным методом.
function : Функция, которую следует представить статичным методом.
Может использоваться к качестве декоратора.
В статичные методы, в отличие, скажем, от обычных или от classmethod(), не передаётся первый аргумент неявным образом. Статичные методы в Питоне похожи на аналогичные в C++ или Java.
Для объявления статичного метода используйте staticmethod в качестве декоратора:
Вызывается как через класс — C.f() —, так и через экземпляр — C().f(), при этом данные экземпляра игнорируются, а принимаются во внимание только данные его класса.
sum(iterable[, start])
Суммирует элементы указанного объекта и возвращает результат.
iterable : Объект, поддерживающий итерацию по его элементам. Ожидается, что элементы этого объекта являются числами, но не строками. Если объект пуст, функция вернёт начальное значение (start).
start=0 : Число, с которого следует начать суммирование.
super([type[, object-or-type]])
Возвращает объект-посредник (прокси), делегирующий вызовы методов родителю или собрату класса указанного типа.
type : Тип, от которого следует начать поиск объекта-посредника. Ранее атрибут был обязателен.
obj-or-type : Если не указан, возвращается несвязанный объект-посредник. Если атрибут является объектом, то будет получен посредник для получения метода объекта, для которого isinstance(obj, type) возвращает True. Если атрибут является типом, то будет получен посредник для получения метод класса, для которого issubclass(subtype, type) возвращает True. Используется для доступа к базовым реализациям наследуемых методов, перекрытых в классе-наследнике.
Порядок поиска метода тот же, что и при getattr(), только type пропускается: тип имеет атрибут mro, в котором задаётся порядок поиска методов, используемый как getattr(), так и super(). Атрибут динамический и может изменяться по мере обновления иерархии наследования.
Типичные случаи использования super()
В иерархиях с единичным наследованием используется для обращения к родительским классам, чтобы явно не указывать их имена, это упрощает поддержку кода в дальнейшем. Данный тип использования имеет родственников в других языках программирования.
Второй вариант используется для поддержки совместного множественного наследования в динамическом окружении. Вариант уникален для Питона и отсутствует в языках статически компилируемых или поддерживающих только единичное наследование. Он делает возможным обращение с ромбовидными иерархиями (см. проблема ромба), при которых несколько базовых классов задают реализацию метода с одним и тем же именем. Правила хорошего проектирования требуют того, чтобы во всех случаях метод имел одну и ту же сигнатуру (в связи с тем, что порядок вызовов определяется во время исполнения, потому как он задаётся при изменении иерархии, и потому что в цепи могут присутствовать собратья, неизвестные до момента исполнения).
Без аргументов функция работает только внутри определения класса: необходимые для идентификации класса и доступа к методам его объекта детали заполняет компилятор.
tuple([iterable])
Преобразование к кортежу.
type(object)
Возвращает тип объекта.
vars([obj])
Возвращает словарь из атрибута dict указанного объекта.
obj : Объект, для которого следует вернуть словарь атрибутов (dict).
Возвращает словарь атрибутов (dict) указанного объекта — модуля, класса, экземпляра, и любого другого объекта, имеющего атрибут dict.
Внимание
Следует помнить, что атрибут dict модулей и экземпляров поддерживает изменение, однако другие объекты могут налагать запрет его модификацию (так, например, классы используют прокси для предотвращения прямой модификации этого словаря).
Если функция vars вызвана без аргументов, результат подобен вызову locals()
zip(*iterables)
Возвращает итератор по кортежам, где i-тый кортеж содержит i-тый элемент каждой из указанных последовательностей.
iterables : Итерируемые объекты, элементы которых следует упаковать в кортежи. Если передана одна последовательность, вернётся итератор по кортежам, состоящим из единственного элемента. Если последовательности не переданы, возвращается пустой итератор.
Итератор останавливается, когда исчерпана кратчайшая из последовательностей.
Гарантируется вычисление слева направо, что делает возможным следующую идиому кластеризации данных по группам n-длины — zip(*[iter(s)] * n):
В сочетании с оператором * функция может быть использована для распаковки списка: