Python: BuiltIn Function Flashcards
abs(x)
Возвращает абсолютное значение x
all(s)
Возвращает True, если все значения в итерируемом объекте s оцениваются как True
any(s)
Возвращает True, если хотя бы одно значение в итерируемом объекте s оценивается как True
ascii(x)
Создает печатное представление объекта x, точно так же, как и функция repr(), но в результате используются только символы ASCII. Символы, отсутствующие в наборе ASCII, преобразуются в соответствующие экранированные последовательности. Эта функция может использоваться для просмотра содержимого строк Юникода в терминалах или в командных оболочках, не поддерживающих Юникод. Только в Python 3.
bin(x)
Возвращает строку с двоичным представлением целого числа x
bool([x])
Тип, используемый для представления логических значений True и False. Если используется для преобразования x, возвращает True, если значение объект x оценивается как истина, при использовании обычной семантики определения истинности (то есть ненулевое число, непустой список и так далее). В противном случае возвращает False. Кроме того, если функция bool() вызывается без аргументов, она по умолчанию возвращает False. Класс bool является производным от класса int, поэтому логические значения True и False можно использовать в математических операциях, как целые числа 1 и 0.
bytearray([x])
Тип, используемый для представления изменяемых массивов байтов. Когда создается новый массив, аргумент x может быть итерируемой последовательностью целых чисел в диапазоне от 0 до 255, строкой 8-битных символов, литералом типа bytes или целым числом, определяющим размер массива байтов (в этом случае все элементы массива инициализируются значением 0). Объект типа bytearray выглядит, как массив целых чисел. При обращении к элементу массива, например, a[i], возвращается целое число, представляющее значение байта с индексом i. В операциях присваивания, таких как a[i] = v, значение v также должно быть целым 8-битным значением. Кроме того, тип bytearray поддерживает все операции, которые могут применяться к строкам (такие, как извлечение среза, find(), split(), replace() и так далее). В случае применения этих строковых операций все строковые литералы должны предваряться модификатором b, чтобы показать, что операции выполняются над строками байтов. Например, если требуется разбить массив байтов на поля, разделенные запятой, это следует делать так: a.split(b’,’), а не a.split(‘,’). Результатом таких операций всегда будет новый объект типа bytearray, а не строка. Чтобы преобразовать объект bytearray в строку, следует использовать метод a.decode(encoding). При использовании кодировки ‘latin-1’ в аргументе encoding объект типа bytearray будет преобразован в строку 8-битных символов без каких либо преобразований значений символов.
bytearray(s ,encoding)
Альтернативный способ создания экземпляра типа bytearray из строки символов s, где аргумент encoding определяет, какую кодировку символов использовать.
bytes([x])
Тип, используемый для представления неизменяемых массивов байтов. Является неизменяемой версией типа bytearray. В этом случае аргумент x интерпретируется точно так же и может использоваться тем же способом.
bytes(s, encoding)
Альтернативный способ создания экземпляра типа bytes из строки символов s, где аргумент encoding определяет, какую кодировку символов использовать. Только в Python 3
chr(x)
Преобразует целое число x в строку из одного символа. В Python 3 аргумент x должен быть представлен допустимым кодовым пунктом Юникода. Если значение x выходит за допустимый диапазон, возбуждается исключение ValueError.
classmethod(func)
Эта функция создает из функции func метод класса. Обычно используется только внутри определений классов, где она неявно вызывается декоратором @classmethod. В отличие от обычных методов, методы класса получают в первом аргументе ссылку на класс, а не на экземпляр.
cmp(x, y)
Сравнивает x и y и возвращает отрицательное число, если x < y, положительное, если x > y, или 0, если x == y. Сравниваться могут любые два объекта, однако результат может не иметь никакого смысла, если оба объекта не реализуют осмысленного метода сравнения (например, при сравнении числа и объекта файла). В некоторых случаях такая попытка сравнивания может привести к исключению.
compile(string, filename, kind [, flags [, dont_inherit]])
Компилирует строку string в объект программного кода для последующего использования с функцией exec() или eval(). Аргумент string – это строка с допустимым программным кодом на языке Python. Если этот программный код занимает несколько текстовых строк, они должны завершаться одиночным символом перевода строки (‘\n’), а не платформозависимым вариантом (например, ‘\r\n’ в Windows). Аргумент filename – это строка с именем файла, в котором была определена строка string. Аргумент kind может иметь значение ‘exec’ – в случае последовательности инструкций, ‘eval’ – для одиночного выражения или ‘single’ – в случае единственной инструкции. Аргумент flags определяет, какие дополнительные особенности (включенные в модуль __future__) должны быть активированы. Эти особенности перечисляются в виде флагов, объявленных в модуле __future__, с помощью побитовой операции ИЛИ. Например, если требуется активировать новую семантику операции деления, следует установить в аргументе flags значение __future__.division.compiler_flag. Если аргумент flags опущен, он принимает значение по умолчанию 0, а программный код компилируется с учетом всех особенностей, действующих в текущей версии Python. Если функции передается аргумент flags, то особенности, перечисленные в нем, добавляются к списку действующих особенностей. Если аргумент dont_inherit установлен, активируются только особенности, перечисленные в аргументе flags, – особенности, действующие в текущей версии, игнорируются.
complex([real [, imag]])
Тип, используемый для представления комплексных чисел, состоящих из действительной и мнимой частей; аргументы real и imag могут иметь значения любых числовых типов. Если аргумент imag опущен, мнимая часть числа принимается равной нулю. Если в аргументе real передается строка, она анализируется и преобразуется в комплексное число. В этом случае аргумент imag не должен передаваться. Если ни один аргумент не задан, воз- вращается число 0j.
delattr(object, attr)
Удаляет атрибут attr объекта object. Аргумент attr – это строка. Функция действует точно так же, как и инструкция del object.attr.
dict([m]) или dict(key1 = value1, key2 = value2, …)
Тип, используемый для представления словарей. При вызове без аргументов возвращает пустой словарь. Если в аргументе m передается объект отображения (такой как словарь), возвращается новый словарь с теми же ключами и значениями, что и в объекте m. Например, если m – это словарь, то вызов dict(m) просто создаст его поверхностную копию. Если аргумент m не является отображением, он должен поддерживать итерации, в ходе которых будет воспроизводиться последовательность пар (key, value). Эти пары будут использоваться для заполнения словаря. Функция dict() может также принимать именованные аргументы. Например, вызов dict(foo=3, bar=7) создаст словарь { ‘foo’ : 3, ‘bar’ : 7 }.
dir([object])
Возвращает отсортированный список имен атрибутов. Если аргумент object является модулем, функция вернет список имен, объявленных в этом модуле. Если аргумент object является объектом типа или класса, функция вернет список имен атрибутов. Имена обычно извлекаются из атрибута __dict__ объекта, если он определен, но могут использоваться и другие источники. При вызове без аргумента возвращается список имен в текущей локальной таблице символов. Следует отметить, что главное назначение этой функции заключается в том, чтобы служить источником информации (например, для использования в интерактивном режиме). Она не может использоваться как официальный источник информации о программе, поскольку возвращаемые ею сведения могут быть неполными. Кроме того, пользовательские классы могут объявлять специальный метод __dir__(), способный влиять на результат этой функции.
divmod(a, b)
Возвращает частное и остаток от деления длинных целых чисел в виде кортежа. Для целых чисел возвращается значение (a // b, a % b). Для чисел с плавающей точкой – (math.floor(a / b), a % b). Эта функция не должна вызываться для комплексных чисел.
enumerate(iter[, initial_value)
Для заданного итерируемого объекта iter возвращается новый итератор (типа enumerate), который воспроизводит последовательность кортежей, содержащих порядковый номер итерации и значение, полученное от объекта iter. Например, если допустить, что iter воспроизводит последовательность значений a, b, c, то итератор enumerate(iter) будет воспроизводить последовательность кортежей (0,a), (1,b), (2,c).
eval(expr [, globals [, locals]])
Вычисляет значение выражения expr. Аргумент expr – это строка или объект программного кода, созданный функцией compile(). Аргументы globals и locals – это объекты отображений, определяющие глобальное и локальное пространства имен соответственно. Если эти аргументы опущены, выражение вычисляется в пространстве имен вызывающего программного кода. В большинстве случаев в аргументах globals и locals передаются словари, но в сложных приложениях для этих целей могут использоваться собственные объекты отображений.
exec(code [, global [, locals]])
Выполняет инструкции языка Python. Аргумент code – это строка, файл или объект программного кода, созданный функцией compile(). Аргументы globals и locals определяют глобальное и локальное пространства имен соответственно. Если эти аргументы опущены, выполнение происходит в пространстве имен вызывающего программного кода. Если не задан один из аргументов global или local, поведение этой функции несколько отличается в разных версиях Python. В Python 2 exec в действительности реализована как специальная инструкция, тогда как в Python 3 она реализована как функция стандартной библиотеки. Такое различие в реализации порождает тонкий побочный эффект: в Python 2 программный код, выполняемый инструкцией exec, может изменять локальные переменные в пространстве имен вызывающего программного кода. В Python 3 также имеет- ся возможность изменять переменные, но эти изменения не будут иметь эффекта за пределами самого вызова exec(). Это обусловлено тем, что в случае отсутствия аргумента locals для получения локального пространства имен в Python 3 используется функция locals(). Как следует из описания функции locals(), возвращаемый ею словарь обеспечивает возможность чтения данных, но записанные в него данные не сохраняются.
filter(function, iterable)
В Python 2 эта функция создает список объектов, генерируемых итерируемым объектом iterable, для которых функция function возвращает значение True. В Python 3 возвращается итератор, который воспроизводит этот же результат. Если в аргументе function передается значение None, то каждый элемент в iterable проверяется на равенство значению False и те из них, для которых условие не выполняется, удаляются. Аргумент iterable может быть любым объектом, поддерживающим итерации. Как правило, фильтрацию можно выполнить гораздо быстрее с помощью выражений-генераторов или генераторов списков (глава 6).
float([x])
Тип, используемый для представления чисел с плавающей точкой. Если аргумент x является числом, оно преобразуется в число с плавающей точкой. Если аргумент x является строкой, она преобразуется в число с плавающей точкой. При вызове без аргумента возвращается число 0.0
format(value [, format_spec])
Преобразует значение value в форматированную строку, в соответствии со спецификаторами формата в строке format_spec. Эта функция вызывает метод value.__format__(), который может интерпретировать спецификаторы формата по своему усмотрению. Для простых типов данных в число спецификаторов формата обычно входят символы выравнивания ‘’ и ‘^’; числа (определяющие ширину поля); и символы кодов ‘d’, ‘f’ и ‘s’ для целых чисел, для чисел с плавающей точкой и для строк соответственно.
frozenset([items])
Тип, используемый для представления неизменяемых объектов множеств, заполненных значениями, взятыми из аргумента items, который должен быть итерируемым объектом. Значения также должны быть неизменяемыми. При вызове без аргумента возвращается пустое множество.
getattr(object, name [,default])
Возвращает значение атрибута name объекта object. Аргумент name должен быть строкой, содержащей имя атрибута. Необязательный аргумент default определяет значение, возвращаемое в случае отсутствия атрибута. Если этот аргумент не задан, возбуждается исключение AttributeError. Возвращает тот же результат, что и выражение object.name.