Функции в Python
Функция — это блок кода, который выполняет определенную задачу. В Python есть два типа функции: встроенные и пользовательские. Параметр — это значение, которое принимает функция. Аргумент — это значение, которое передается в функцию при ее вызове в программе. Оператор return используется для возвращения значения из функции.
Что такое функция?
Функция — это блок кода, который выполняет определенную задачу.
Предположим, нам нужно написать программу, которая нарисует круг, а затем раскрасит его. Вы можете создать две функции для решения этой проблемы:
функция создания круга;
функция раскрашивания круга.
Разделение сложной задачи на более мелкие части делает нашу программу простой для понимания и повторного использования.
Типы функций в Python
Есть два типа функций:
Функции из Стандартной библиотеки Python — это встроенные функции, доступные для использования.
Пользовательские функции — мы можем создавать собственные функции на основе наших требований.
Built-in Functions
Интерпретатор Python имеет ряд встроенных функций и типов,которые всегда доступны.Они перечислены здесь в алфавитном порядке.
Вернуть абсолютное значение числа. Аргумент может быть целым числом, числом с плавающей запятой или объектом, реализующим __abs__() . Если аргумент — комплексное число, возвращается его величина.
Примечание. В отличие от iter() , у aiter() нет варианта с двумя аргументами.
Новинка в версии 3.10.
Верните True , если все элементы итерации верны (или если итерация пуста). Эквивалентен:
awaitable anext(async_iterator, /) ожидаемый следующий ( async_iterator , по умолчанию , / )
При ожидании вернуть следующий элемент из заданного асинхронного итератора или по умолчанию , если он задан и итератор исчерпан.
Это асинхронный вариант встроенной функции next() , который ведет себя аналогичным образом.
Это вызывает метод __anext __anext__() async_iterator , возвращающий ожидаемое значение . Ожидание этого возвращает следующее значение итератора. Если задано значение по умолчанию , оно возвращается, если итератор исчерпан, в противном случае StopAsyncIteration .
Новинка в версии 3.10.
Верните True , если какой-либо элемент итерации истинен. Если итерируемый объект пуст, верните False . Эквивалентен:
Как repr() , вернуть строку, содержащую печатное представление объекта, но экранировать символы, отличные от ASCII, в строке, возвращаемой repr() с помощью экранирования \x , \u или \U Это генерирует строку, аналогичную той, которую возвращает repr() в Python 2.
Преобразуйте целое число в двоичную строку с префиксом «0b». Результатом является допустимое выражение Python. Если x не является объектом Python int , он должен определить __index__() , который возвращает целое число. Некоторые примеры:
Если префикс «0b» желателен или нет,вы можете использовать один из следующих способов.
См. Также format() для получения дополнительной информации.
Возвращает логическое значение, т. е. одно из значений True или False . x преобразуется с использованием стандартной процедуры проверки истинности . Если x ложно или опущено, возвращается False ; в противном случае возвращается True . Класс bool является подклассом int (см. Числовые типы — int, float, complex ). Это не может быть подклассом далее. Его единственными экземплярами являются False и True (см. Логические значения ).
Изменено в версии 3.7: x теперь является только позиционным параметром.
Эта функция переводит вас в отладчик на месте вызова. В частности, он вызывает sys.breakpointhook() , передавая args и kws напрямую. По умолчанию sys.breakpointhook() вызывает pdb.set_trace() без аргументов. В данном случае это просто функция удобства, поэтому вам не нужно явно импортировать pdb или вводить столько кода, чтобы войти в отладчик. Однако sys.breakpointhook() можно задать другую функцию, и breakpoint() автоматически вызовет ее, что позволит вам перейти к выбранному отладчику. Если sys.breakpointhook() недоступен, эта функция вызовет RuntimeError .
Вызывает событие аудита builtins.breakpoint с помощью аргумента breakpointhook .
Новинка в версии 3.7.
Возвращает новый массив байтов. Класс bytearray представляет собой изменяемую последовательность целых чисел в диапазоне 0 <= x < 256. Он имеет большинство обычных методов изменяемых последовательностей, описанных в Mutable Sequence Types , а также большинство методов, которые имеет тип bytes , см. Bytes и Операции с байтовыми массивами .
Необязательный параметр источника можно использовать для инициализации массива несколькими способами:
- Если это строка , вы также должны указать параметры кодировки (и, возможно, ошибки ); bytearray() преобразует строку в байты с помощью str.encode() .
- Если это целое число , массив будет иметь этот размер и будет инициализирован нулевыми байтами.
- Если это объект, соответствующий интерфейсу буфера , для инициализации массива байтов будет использоваться доступный только для чтения буфер объекта.
- Если это итерация , это должна быть итерация целых чисел в диапазоне 0 <= x < 256 , которые используются в качестве начального содержимого массива.
Без аргумента создается массив размером 0.
Возвращает новый объект «bytes», который представляет собой неизменяемую последовательность целых чисел в диапазоне 0 <= x < 256 . bytes — это неизменяемая версия bytearray — она имеет те же неизменяющие методы и такое же поведение при индексации и нарезке.
Соответственно, аргументы конструктора интерпретируются как для bytearray() .
Объекты Bytes также могут быть созданы с помощью литералов, см . Литералы String и Bytes .
Верните True , если аргумент объекта кажется вызываемым, и False , если нет. Если это возвращает True , все еще возможно, что вызов завершился ошибкой, но если это False , вызывающий объект никогда не будет успешным. Обратите внимание, что классы могут быть вызваны (вызов класса возвращает новый экземпляр); экземпляры вызываются, если их класс имеет __call__() .
Новое в версии 3.2:Эта функция была сначала удалена на Python 3.0,а затем возвращена на Python 3.2.
Возвращает строку, представляющую символ, кодовая точка Unicode которого является целым числом i . Например, chr(97) возвращает строку ‘a’ , а chr(8364) возвращает строку ‘€’ . Это инверсия ord() .
Допустимый диапазон для аргумента — от 0 до 1,114,111 (0x10FFFF по основанию 16). ValueError будет вызвано , если i вне этого диапазона.
Преобразование метода в метод класса.
Метод класса получает класс в качестве неявного первого аргумента,так же как метод экземпляра получает экземпляр.Чтобы объявить метод класса,используйте эту идиому:
Форма @classmethod является декоратором функции — подробности см . в разделе « Определения функций » .
Метод класса может быть вызван либо для класса (например, C.f() ), либо для экземпляра (например, C().f() ). Экземпляр игнорируется, за исключением его класса. Если для производного класса вызывается метод класса, объект производного класса передается как подразумеваемый первый аргумент.
Методы класса отличаются от статических методов C ++ или Java. Если вам это нужно, см. staticmethod() в этом разделе. Дополнительные сведения о методах класса см . В разделе Иерархия стандартных типов .
Изменено в версии 3.9: методы класса теперь могут обертывать другие дескрипторы , такие как property() .
Изменено в версии 3.10: методы класса теперь наследуют атрибуты метода ( __module__ , __name__ , __qualname__ , __doc__ и __annotations__ ) и имеют новый атрибут __wrapped__ .
Изменено в версии 3.11: методы класса больше не могут заключать в себе другие дескрипторы , такие как property() .
Скомпилируйте исходный код в код или объект AST. Объекты кода могут быть выполнены с помощью exec() или eval() . Источник может быть обычной строкой, байтовой строкой или объектом AST. Обратитесь к документации модуля ast для получения информации о том, как работать с объектами AST.
Аргумент имени файла должен указывать файл, из которого был прочитан код; передать некоторое распознаваемое значение, если оно не было прочитано из файла ( обычно используется ‘<string>’ ).
В режиме аргумент определяет , какой код должен быть составлен; это может быть ‘exec’ , если источник состоит из последовательности операторов, ‘eval’ , если он состоит из одного выражения, или ‘single’ , если он состоит из одного интерактивного оператора (в последнем случае операторы выражения, которые оценивают что-то кроме None будет напечатано).
Необязательные флаги аргументов и dont_inherit определяют , какие параметры компилятора должны быть активированы и какие будущие функции должны быть разрешены. Если ни один из них не присутствует (или оба равны нулю), код компилируется с теми же флагами, которые влияют на код, вызывающий compile() . Если аргумент flags задан, а dont_inherit не равен (или равен нулю), то параметры компилятора и будущие операторы, указанные аргументом flags , используются в дополнение к тем, которые использовались бы в любом случае. Если dont_inherit является ненулевым целым числом, то флагиаргумент в том, что флаги (будущие функции и параметры компилятора) в окружающем коде игнорируются.
Параметры компилятора и будущие операторы задаются битами, которые можно объединить побитовым ИЛИ, чтобы указать несколько параметров. Битовый необходимо указать данную функцию в будущем может быть найдено как compiler_flag атрибут на _Feature например , в __future__ модуле. Флаги компилятора можно найти в модуле ast с префиксом PyCF_ .
Аргумент optimize указывает уровень оптимизации компилятора; значение по умолчанию -1 выбирает уровень оптимизации интерпретатора, заданный параметрами -O . Явные уровни: 0 (без оптимизации; __debug__ истинно), 1 (утверждения удаляются, __debug__ ложно) или 2 (строки документации также удаляются).
Эта функция вызывает SyntaxError , если скомпилированный источник недействителен, и ValueError , если источник содержит нулевые байты.
Если вы хотите преобразовать код Python в его AST-представление, см. ast.parse() .
Вызывает событие аудита compile с аргументами source и filename . Это событие также может быть вызвано неявной компиляцией.
При компиляции строки с многострочным кодом в режиме ‘single’ или ‘eval’ ввод должен оканчиваться хотя бы одним символом новой строки. Это сделано для облегчения обнаружения неполных и полных операторов в модуле code .
Возможно аварийное завершение работы интерпретатора Python с достаточно большой/сложной строкой при компиляции в объект AST из-за ограничений глубины стека в AST-компиляторе Python.
Изменено в версии 3.2: Разрешено использование символов новой строки Windows и Mac. Кроме того, ввод в режиме ‘exec’ больше не должен заканчиваться новой строкой. Добавлен параметр оптимизации .
Изменено в версии 3.5: ранее TypeError вызывалась при обнаружении нулевых байтов в источнике .
Новое в версии 3.8: ast.PyCF_ALLOW_TOP_LEVEL_AWAIT теперь можно передавать во флагах, чтобы включить поддержку верхнего уровня await , async for и async with .
Вернуть комплексное число со значением real + imag * 1j или преобразовать строку или число в комплексное число. Если первый параметр является строкой, он будет интерпретироваться как комплексное число, и функция должна вызываться без второго параметра. Второй параметр никогда не может быть строкой. Каждый аргумент может быть любого числового типа (включая комплексный). Если images опущено, по умолчанию используется ноль, а конструктор выполняет числовое преобразование, например int и float . Если оба аргумента опущены, возвращает 0j .
Для общего объекта Python x , complex(x) делегирует x.__complex__() . Если __complex__() не определен, он возвращается к __float__() . Если __float__() не определен, он возвращается к __index__() .
При преобразовании из строки строка не должна содержать пробелов вокруг центрального оператора + или — . Например, complex(‘1+2j’) подходит, но complex(‘1 + 2j’) вызывает ValueError .
Изменено в версии 3.6:Допускается группировка цифр с подчеркиванием,как в литералах кода.
Изменено в версии 3.8: Возвращается к __index__() если __complex__() и __float__() не определены.
Это родственник setattr() . Аргументами являются объект и строка. Строка должна быть именем одного из атрибутов объекта. Функция удаляет именованный атрибут, если это разрешено объектом. Например, delattr(x, ‘foobar’) эквивалентен del x.foobar . имя не обязательно должно быть идентификатором Python (см. setattr() ).
Создайте новый словарь. Объект dict — это класс словаря. См . документацию по этому классу в разделе dict и Mapping Types — dict .
Для других контейнеров см. встроенные классы list , set и tuple , а также модуль collections .
Без аргументов верните список имен в текущей локальной области видимости.С помощью аргумента попытайтесь вернуть список действительных атрибутов для этого объекта.
Если у объекта есть метод с именем __dir__() , этот метод будет вызван и должен вернуть список атрибутов. Это позволяет объектам, реализующим настраиваемую __getattr__() или __getattribute__() настраивать способ, которым dir() сообщает свои атрибуты.
Если объект не предоставляет __dir__() , функция делает все возможное, чтобы собрать информацию из атрибута __dict__ объекта , если он определен, и из его типа object. Результирующий список не обязательно является полным и может быть неточным, если объект имеет пользовательский __getattr__() .
Механизм dir() умолчанию ведет себя по-разному с разными типами объектов, поскольку он пытается произвести наиболее актуальную, а не полную информацию:
- Если объект является объектом модуля,список содержит имена атрибутов модуля.
- Если объект является объектом типа или класса,то список содержит имена его атрибутов,а рекурсивно-атрибутов его баз.
- В противном случае список содержит имена атрибутов объекта,имена атрибутов его класса и рекурсивно атрибуты базовых классов его класса.
Полученный список отсортирован в алфавитном порядке.Например:
Поскольку dir() предоставляется в первую очередь для удобства использования в интерактивном приглашении, он пытается предоставить интересный набор имен больше, чем он пытается предоставить строго или последовательно определенный набор имен, и его подробное поведение может меняться в разных выпусках. Например, атрибуты метакласса отсутствуют в списке результатов, если аргумент является классом.
Возьмите два (некомплексных) числа в качестве аргументов и верните пару чисел, состоящую из их частного и остатка при использовании целочисленного деления. К смешанным типам операндов применяются правила для бинарных арифметических операторов. Для целых чисел результат такой же, как (a // b, a % b) . Для чисел с плавающей запятой результат будет (q, a % b) , где q обычно math.floor(a / b) но может быть на 1 меньше. В любом случае q * b + a % b очень близко к a , если a % b не равно нулю, он имеет тот же знак, что и b , и 0 <= abs(a % b) < abs(b) .
Возвращает перечисляемый объект. iterable должен быть последовательностью, итератором или другим объектом, поддерживающим итерацию. Метод __next__() итератора, возвращаемый enumerate() , возвращает кортеж, содержащий счетчик (от начала , который по умолчанию равен 0) и значения, полученные в результате итерации по iterable .
eval(expression, /, globals=None, locals=None)
Аргументы — это строка и необязательные глобальные и локальные переменные. Если указано, глобальные переменные должны быть словарем. Если предусмотрено, местными жителями может быть любой объект отображения.
Аргумент выражения анализируется и оценивается как выражение Python (технически говоря, список условий) с использованием словарей globals и locals в качестве глобального и локального пространства имен. Если словарь globals присутствует и не содержит значения для ключа __builtins__ , ссылка на словарь встроенных модулей вставляется под этим ключом перед builtins выражения . Таким образом, вы можете контролировать, какие встроенные функции доступны для исполняемого кода, вставляя свой собственный словарь __builtins__ вглобальные переменные перед передачей его в eval() . Если местные жителисловарь опущен, по умолчанию используется глобальный словарь. Если оба словаря опущены, выражение выполняется с глобальными и локальными переменными в среде, где вызывается eval() . Обратите внимание, что eval() не имеет доступа к вложенным областям (нелокальным) во внешней среде.
Возвращаемое значение является результатом вычисления.Синтаксические ошибки сообщаются как исключения.Пример:
Эта функция также может использоваться для выполнения произвольных объектов кода (например, созданных с помощью compile() ). В этом случае передайте объект кода вместо строки. Если объект кода был скомпилирован с параметром ‘exec’ в качестве аргумента режима , возвращаемое значение eval() будет None .
Подсказки: динамическое выполнение операторов поддерживается функцией exec() . Функции globals() и locals() возвращают текущий глобальный и локальный словарь соответственно, которые может быть полезно передать для использования eval() или exec() .
Если заданный источник является строкой,то ведущие и последующие пробелы и табуляции удаляются.
См. ast.literal_eval() для функции, которая может безопасно оценивать строки с выражениями, содержащими только литералы.
Вызывает событие аудита exec с объектом кода в качестве аргумента. Также могут возникать события компиляции кода.
exec(object, globals=None, locals=None, /, *, closure=None)
Эта функция поддерживает динамическое выполнение кода Python. объект должен быть либо строкой, либо объектом кода. Если это строка, она анализируется как набор операторов Python, которые затем выполняются (если не возникает синтаксическая ошибка). 1 Если это объект кода, он просто выполняется. Во всех случаях ожидается, что исполняемый код будет допустимым для ввода в файл (см. раздел « Ввод в файл» в Справочном руководстве). Имейте в виду, что операторы nonlocal , yield и return нельзя использовать вне определений функций, даже в контексте кода, переданного в функцию exec() . Возвращаемое значение — None .
Во всех случаях, если необязательные части опущены, код выполняется в текущей области. Если предоставлены только глобальные переменные , это должен быть словарь (а не подкласс словаря), который будет использоваться как для глобальных, так и для локальных переменных. Если Глобал и местные жители дают, они используются для глобальных и локальных переменных, соответственно. Если указано, местными жителями может быть любой объект отображения. Помните, что на уровне модуля глобальные и локальные переменные — это один и тот же словарь. Если exec получает два отдельных объекта как глобальные и локальные , код будет выполнен так, как если бы он был встроен в определение класса.
Если Глобалы словарь не содержит значение для ключа __builtins__ , ссылку на словарь встроенного модуля builtins вставляются под этим ключом. Таким образом, вы можете контролировать, какие встроенные функции доступны для исполняемого кода, вставляя свой собственный словарь __builtins__ в глобальные переменные перед передачей его в exec() .
Аргумент closure определяет замыкание — кортеж переменных ячеек. Это допустимо только в том случае, если объект является объектом кода, содержащим свободные переменные. Длина кортежа должна точно соответствовать количеству свободных переменных, на которые ссылается объект кода.
Вызывает событие аудита exec с объектом кода в качестве аргумента. Также могут возникать события компиляции кода.
Встроенные функции globals() и locals() возвращают текущий глобальный и локальный словарь соответственно, которые может быть полезно передать для использования в качестве второго и третьего аргумента функции exec() .
Локальные переменные по умолчанию действуют так, как описано для функции locals() ниже: не следует пытаться изменять словарь локальных переменных по умолчанию . Передайте явный словарь locals, если вам нужно увидеть влияние кода на locals после возврата из функции exec() .
Изменено в версии 3.11: Добавлен параметр закрытия .
Создайте итератор из тех элементов итерации, для которых функция возвращает true. iterable может быть либо последовательностью, контейнером, поддерживающим итерацию, либо итератором. Если function равно None , предполагается функция идентичности, то есть все элементы итерации, которые являются ложными, удаляются.
Обратите внимание, что filter(function, iterable) эквивалентно выражению генератора (item for item in iterable if function(item)) если функция не имеет значения None , и (item for item in iterable if item) если функция имеет значение None .
См. itertools.filterfalse() для дополнительной функции, которая возвращает элементы итерации, для которых функция возвращает false.
Возвращает число с плавающей запятой, составленное из числа или строки x .
Если аргумент является строкой, он должен содержать десятичное число, необязательно предваренное знаком и необязательно вставленное в пробел. Необязательный знак может быть ‘+’ или ‘-‘ ; знак ‘+’ не влияет на полученное значение. Аргументом также может быть строка, представляющая NaN (не число), либо положительную или отрицательную бесконечность. Точнее, после удаления начальных и конечных пробельных символов ввод должен соответствовать следующей грамматике:
Здесь floatnumber — это форма литерала Python с плавающей запятой, описанная в разделе Литералы с плавающей запятой . Регистр значения не имеет, поэтому, например, «inf», «Inf», «INFINITY» и «INFINity» — допустимые варианты написания положительной бесконечности.
В противном случае, если аргумент является целым числом или числом с плавающей запятой, возвращается число с плавающей запятой с тем же значением (в пределах точности Python с плавающей запятой). Если аргумент выходит за пределы диапазона с плавающей запятой Python, будет выдано сообщение об OverflowError .
Для общего Python объекта x , с float(x) делегаты x.__float__() . Если __float__() не определен, он возвращается к __index__() .
Если аргумент не указан, возвращается 0.0 .
Изменено в версии 3.6:Допускается группировка цифр с подчеркиванием,как в литералах кода.
Изменено в версии 3.7: x теперь является только позиционным параметром.
Изменено в версии 3.8: Возвращается к __index__() если __float__() не определено.
Преобразование значения в «форматированное» представление, контролируемое format_spec . Интерпретация format_spec будет зависеть от типа аргумента значения ; однако существует стандартный синтаксис форматирования, который используется большинством встроенных типов: Мини-язык спецификации формата .
По умолчанию format_spec представляет собой пустую строку, которая обычно дает тот же эффект, что и вызов str(value) .
Вызов format(value, format_spec) преобразуется в type(value).__format__(value, format_spec) который обходит словарь экземпляра при поиске метода значения __format__() . Исключение TypeError возникает , если поиск метода достигает object , а TypeError не пуст, или если либо format_spec , либо возвращаемое значение не являются строками.
Изменено в версии 3.4: object().__format__(format_spec) поднимает TypeError , если format_spec не пустая строка.
Возвращает новый объект frozenset , возможно, с элементами, взятыми из iterable . frozenset — это встроенный класс. Документацию по этому классу см. в разделе frozenset и Set Types — set, FrozenSet .
Для других контейнеров см. встроенные классы set , list , tuple и dict , а также модуль collections .
getattr(object, name, /) getattr( объект , имя , значение по умолчанию , / )
Возвращает значение именованного атрибута объекта . имя должно быть строкой. Если строка является именем одного из атрибутов объекта, результатом будет значение этого атрибута. Например, getattr(x, ‘foobar’) эквивалентен x.foobar . Если именованный атрибут не существует, возвращается значение по умолчанию , если оно предоставлено, в противном случае возникает ошибка AttributeError .имя не обязательно должно быть идентификатором Python (см. setattr() ).
Поскольку изменение частного имени происходит во время компиляции, необходимо вручную изменить имя частного атрибута (атрибуты с двумя ведущими символами подчеркивания), чтобы получить его с помощью getattr() .
Возвращает словарь,реализующий текущее пространство имен модуля.Для кода внутри функций это пространство устанавливается при определении функции и остается неизменным независимо от того,где вызывается функция.
Аргументами являются объект и строка. Результатом является True , если строка является именем одного из атрибутов объекта, и False , если нет. (Это реализуется вызовом getattr(object, name) и просмотром того, вызывает ли он ошибку AttributeError или нет.)
Возвращает хэш-значение объекта (если он есть).Хэш-значения являются целыми числами.Они используются для быстрого сравнения ключей словаря во время поиска словаря.Числовые значения,которые сравнивают равные,имеют одно и то же хэш-значение (даже если они разных типов,как в случае 1 и 1.0).
Для объектов с настраиваемыми __hash__() обратите внимание, что hash() усекает возвращаемое значение в зависимости от разрядности хост-компьютера. Подробнее см. __hash__() .
Вызовите встроенную систему помощи.(Эта функция предназначена для интерактивного использования.)Если аргументов нет,интерактивная справочная система запускается на консоли интерпретатора.Если аргумент является строкой,то строка ищется как имя модуля,функции,класса,метода,ключевого слова или темы документации,а на консоли выводится страница справки.Если аргументом является любой другой тип объекта,то на объекте генерируется страница помощи.
Обратите внимание, что если косая черта (/) появляется в списке параметров функции при вызове help() , это означает, что параметры до косой черты являются только позиционными. Дополнительные сведения см. в разделе часто задаваемых вопросов о параметрах, предназначенных только для позиционирования .
Эта функция добавляется во встроенное пространство имен модулем site .
Изменено в версии 3.4: изменения в pydoc и inspect означают, что сообщаемые сигнатуры для вызываемых объектов теперь более полны и согласованы.
Преобразуйте целое число в строчную шестнадцатеричную строку с префиксом «0x». Если x не является объектом Python int , он должен определить __index__() , который возвращает целое число. Некоторые примеры:
Если вы хотите преобразовать целое число в прописную или нижнюю шестнадцатеричную строку с префиксом или без него,вы можете использовать любой из следующих способов:
См. Также format() для получения дополнительной информации.
См. Также int() для преобразования шестнадцатеричной строки в целое число с основанием 16.
Чтобы получить шестнадцатеричное строковое представление для числа с плавающей запятой, используйте метод float.hex() .
Возвращает «идентификатор» объекта. Это целое число, которое гарантированно будет уникальным и постоянным для данного объекта в течение его жизни. Два объекта с непересекающимися временами жизни могут иметь одинаковое значение id() .
Детали реализации CPython: это адрес объекта в памяти.
Вызывает событие аудита builtins.id с id аргумента .
Если аргумент подсказки присутствует, он выводится в стандартный поток вывода без символа новой строки в конце. Затем функция считывает строку из ввода, преобразует ее в строку (удаляя завершающую новую строку) и возвращает ее. При чтении EOF возникает EOFError . Пример:
Если был загружен модуль readline , то input() будет использовать его для предоставления подробных функций редактирования строк и истории.
Вызывает событие аудита builtins.input с аргументом prompt перед чтением ввода
Вызывает встроенное событие builtins.input/result с результатом после успешного чтения ввода.
Вернуть целочисленный объект, построенный из числа или строки x , или вернуть 0 , если аргументы не указаны. Если x определяет __int__() , int(x) возвращает x.__int__() . Если x определяет __index__() , он возвращает x.__index__() . Если x определяет __trunc__() , он возвращает x.__trunc__() . Для чисел с плавающей запятой это усекается до нуля.
Если x не является числом или задано основание , то x должно быть строкой, bytes или экземпляром bytearray байтов, представляющим целочисленный литерал в системе счисления base . При желании перед литералом может стоять + или — (без пробела между ними) и он может быть окружен пробелом. Литерал с основанием n состоит из цифр от 0 до n-1, где числа от a до z (или от A до Z ) имеют значения от 10 до 35. База по умолчанию равна 10. Допустимые значения: 0 и 2–36. Литералы с основанием 2, -8 и -16 могут дополнительно иметь префикс 0b ./ 0B , 0o / 0O или 0x / 0X , как и целочисленные литералы в коде. База 0 означает интерпретировать точно как литерал кода, так что фактическая база равна 2, 8, 10 или 16, и поэтому int(‘010’, 0) недопустимо, а int(‘010’) допустимо , а также int(‘010’, 8) .
Изменено в версии 3.4: если база не является экземпляром int и базовый объект имеет метод base.__index__ , этот метод вызывается для получения целого числа для базы. Предыдущие версии использовали base.__int__ вместо base.__index__ .
Изменено в версии 3.6:Допускается группировка цифр с подчеркиванием,как в литералах кода.
Изменено в версии 3.7: x теперь является только позиционным параметром.
Изменено в версии 3.8: Возвращается к __index__() если __int__() не определено.
Изменено в версии 3.11: делегирование __trunc__() устарело.
Изменено в версии 3.11: строковые входы и строковые представления int могут быть ограничены, чтобы избежать атак типа «отказ в обслуживании». ValueError возникает, когда превышен предел при преобразовании строки x в ValueError int или когда преобразование целого int в строку превысит предел. См . документацию по ограничению длины преобразования целочисленной строки .
Возвратите True , если аргумент объекта является экземпляром аргумента classinfo или его (прямого, косвенного или виртуального ) подкласса. Если object не является объектом данного типа, функция всегда возвращает False . Если classinfo является кортежем объектов типа (или рекурсивно, другими такими кортежами) или типом объединения нескольких типов, верните True , если объект является экземпляром любого из типов. Если classinfo не является типом или кортежем типов и таких кортежей, возникает исключение TypeError . TypeError не может быть вызвано для недопустимого типа, если предыдущая проверка прошла успешно.
Изменено в версии 3.10: classinfo может быть Union Type .
Возвратите True , если класс является подклассом (прямым, косвенным или виртуальным ) classinfo . Класс считается подклассом самого себя. classinfo может быть кортежем объектов класса (или рекурсивно, другими подобными кортежами) или Union Type , и в этом случае возвращайте True , если class является подклассом любой записи в classinfo . В любом другом случае возникает исключение TypeError .
Изменено в версии 3.10: classinfo может быть Union Type .
Возвратите объект итератора . Первый аргумент интерпретируется очень по-разному в зависимости от наличия второго аргумента. Без второго аргумента object должен быть объектом-коллекцией, который поддерживает итеративный протокол (метод __iter__() ) или должен поддерживать протокол последовательности (метод __getitem__() с целочисленными аргументами, начинающимися с 0 ). Если он не поддерживает ни один из этих протоколов, возникает TypeError . Если задан второй аргумент, sentinel , то объект должен быть вызываемым объектом. Созданный в этом случае итератор будет вызывать объектбез аргументов для каждого вызова его __next__() ; если возвращаемое значение равно sentinel , StopIteration будет поднят, в противном случае будет возвращено значение.
Одно из полезных применений второй формы iter() — создание программы чтения блоков. Например, чтение блоков фиксированной ширины из двоичного файла базы данных до достижения конца файла:
Вернуть длину (количество элементов)объекта.Аргументом может быть последовательность (например,строка,байт,кортеж,список или диапазон)или коллекция (например,словарь,набор или замороженный набор).
Детали реализации CPython: len вызывает OverflowError на длинах, превышающих sys.maxsize , например range(2 ** 100) .
list — это не функция, а изменяемый тип последовательности, как описано в разделе Lists and Sequence Types — list, tuple, range .
Обновить и вернуть словарь, представляющий текущую локальную таблицу символов. Бесплатные переменные возвращаются функцией locals() когда она вызывается в функциональных блоках, но не в блоках классов. Обратите внимание, что на уровне модуля locals() и globals() — это один и тот же словарь.
Содержимое этого словаря не должно быть изменено;изменения не могут повлиять на значения локальных и свободных переменных,используемых интерпретатором.
Возвращает итератор, который применяет функцию к каждому элементу iterable , получая результаты. Если передаются дополнительные аргументы итерируемых объектов , функция должна принимать такое количество аргументов и параллельно применяется к элементам всех итерируемых объектов. При использовании нескольких итераций итератор останавливается, когда исчерпана самая короткая итерация. Для случаев, когда входные данные функции уже организованы в кортежи аргументов, см. itertools.starmap() .
Возвращает наибольший элемент в итерабельном или наибольшем из двух и более аргументов.
Если указан один позиционный аргумент, он должен быть итерируемым . Возвращается самый большой элемент в итерации. Если указаны два или более позиционных аргумента, возвращается наибольший из позиционных аргументов.
Есть два необязательных аргумента, состоящих только из ключевых слов. Ключевой аргумент указывает функцию упорядочения с одним аргументом, подобную той, что используется для list.sort list.sort() . Аргумент по умолчанию указывает объект, который нужно вернуть, если предоставленный итерируемый объект пуст. Если итерируемый объект пуст и значение по умолчанию не указано, возникает ValueError .
Если несколько элементов максимальны, функция возвращает первый встреченный. Это согласуется с другими инструментами сохранения стабильности sorted(iterable, key=keyfunc, reverse=True)[0] такими как sorted (iterable, key = keyfunc, reverse = True) [0] и heapq.nlargest(1, iterable, key=keyfunc) .
Новое в версии 3.4: Аргумент по умолчанию, содержащий только ключевые слова.
Изменено в версии 3.8: Ключ может быть None .
Возвращает объект «представление памяти», созданный из данного аргумента. Дополнительные сведения см. в разделе Представления памяти .
min(iterable, /, *, key=None) min( итерируемый , / , * , по умолчанию , ключ = Нет ) мин( arg1 , arg2 , / , *args , key=None )
Возвращает наименьший элемент в итерабельном или наименьший из двух или более аргументов.
Если указан один позиционный аргумент, он должен быть итерируемым . Возвращается наименьший элемент в итерации. Если указаны два или более позиционных аргумента, возвращается наименьший из позиционных аргументов.
Есть два необязательных аргумента, состоящих только из ключевых слов. Ключевой аргумент указывает функцию упорядочения с одним аргументом, подобную той, что используется для list.sort list.sort() . Аргумент по умолчанию указывает объект, который нужно вернуть, если предоставленный итерируемый объект пуст. Если итерируемый объект пуст и значение по умолчанию не указано, возникает ValueError .
Если несколько элементов минимальны, функция возвращает первый встреченный. Это согласуется с другими инструментами сохранения стабильности sorted(iterable, key=keyfunc)[0] такими как sorted (iterable, key = keyfunc) [0] и heapq.nsmallest(1, iterable, key=keyfunc) .
Новое в версии 3.4: Аргумент по умолчанию, содержащий только ключевые слова.
Изменено в версии 3.8: Ключ может быть None .
Получите следующий элемент из итератора , вызвав его __next__() . Если указано значение по умолчанию , оно возвращается, если итератор исчерпан, в противном случае StopIteration .
Вернуть новый безликий объект. object является базой для всех классов. У него есть методы, общие для всех экземпляров классов Python. Эта функция не принимает никаких аргументов.
object не имеет __dict__ __dict__ вы не можете назначать произвольные атрибуты экземпляру object .
Преобразуйте целое число в восьмеричную строку с префиксом «0o». Результатом является допустимое выражение Python. Если x не является объектом Python int , он должен определить __index__() , который возвращает целое число. Например:
Если вы хотите преобразовать целое число в восьмеричную строку с префиксом «0o» или без него,вы можете воспользоваться одним из следующих способов.
См. Также format() для получения дополнительной информации.
open(file, mode=’r’, buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Открыть файл и вернуть соответствующий файловый объект . Если файл не может быть открыт, возникает OSError . Дополнительные примеры использования этой функции см. в разделе Чтение и запись файлов .
file — это объект, подобный пути, задающий путь (абсолютный или относительный к текущему рабочему каталогу) файла, который нужно открыть, или целочисленный файловый дескриптор файла, который нужно обернуть. (Если указан файловый дескриптор, он закрывается при закрытии возвращаемого объекта ввода-вывода, если только для параметра closefd не задано значение False .)