Python function: Python — Functions — Tutorialspoint

Python. Урок 10. Функции в Python

Урок посвящен созданию функций в Python и работе с ними (передача аргументов, возврат значения и т.п.). Также рассмотрены lambda-функций, их особенности и использование.

По своей сути функции в Python практически ничем не отличаются от функций из других языков программирования. Функцией называют именованный фрагмент программного кода, к которому можно обратиться из другого места вашей программы (но есть lambda-функции, у которых нет имени, о них будет рассказано в конце урока). Как правило, функции создаются для работы с данными, которые передаются ей в качестве аргументов, также функция может формировать некоторое возвращаемое значение. 

Для создания функции используется ключевое слово def, после которого указывается имя и список аргументов в круглых скобках. Тело функции выделяется также как тело условия (или цикла): четырьмя пробелами. Таким образом самая простая функция, которая ничего не делает, будет выглядеть так.

def fun():
    pass

Возврат значения функцией осуществляется с помощью ключевого слова

return, после которого указывается возвращаемое значение. Пример функции возвращающей единицу представлен ниже.

>>> def fun():
    return 1
>>> fun()
1

Во многих случаях функции используют для обработки данных. Эти данные могут быть глобальными, либо передаваться в функцию через аргументы. Список аргументов определяется на этапе реализации и указывается в круглых скобках после имени функции. Например операцию сложения двух аргументов можно реализовать вот так.

>>> def summa(a, b):
    return a + b
>>> summa(3, 4)
7

Рассмотрим еще два примера использования функции: вычисление числа Фибоначчи с использованием рекурсии и вычисление факториала с использованием цикла.

Вычисление числа Фибоначчи.

>>> def fibb(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n == 2:
        return 1
    else:
        return fibb(n-1) + fibb(n-2)
>>> print(fibb(10))
55

Вычисление факториала.

>>> def factorial(n):
    prod = 1
    for i in range(1, n+1):
        prod *= i
    return prod

>>> print(factorial(5))
120

Функцию можно присвоить переменной и использовать ее, если необходимо сократить имя. В качестве примера можно привести вариант использования функции вычисления факториала из пакета math.

>>> import math
>>> f = math.factorial
>>> print(f(5))
120

Lambda-функция – это безымянная функция с произвольным числом аргументов и вычисляющая одно выражение. Тело такой функции не может содержать более одной инструкции (или выражения). Данную функцию можно использовать в рамках каких-либо конвейерных вычислений (например внутри

filter(), map() и reduce()) либо самостоятельно, в тех местах, где требуется произвести какие вычисление, которые удобно “завернуть” в функцию.

 >>> (lambda x: x**2)(5)
25

Lambda-функцию можно присвоить какой-либо переменной и в дальнейшем использовать ее в качестве имени функции.

>>> sqrt = lambda x: x**0.5
>>> sqrt(25)
5.0

Списки можно обрабатывать lambda-функциями внутри таких функций как map(), filter(), reduce()

, о них мы ещё поговорим, а пока рассмотрим пример с map(). Функция map принимает два аргумента, первый – это функция, которая будет применена к каждому элементу списка, а второй – это список, который нужно обработать.

>>> l = [1, 2, 3, 4, 5, 6, 7]
>>> list(map(lambda x: x**3, l))
[1, 8, 27, 64, 125, 216, 343]

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

<<< Python. Урок 9. Словари (dict)   Python. Урок 11. Работа с исключениями>>>

Определение функций в Python.
| DOCS-Python.ru

Функции в Python определяются с помощью инструкции def, которое вводит определение функции. За ним должно следовать имя функции и заключенный в скобки список формальных параметров. Операторы, которые формируют тело функции, начинаются со следующей строки и должны иметь отступ.

def func_name(param):
    pass
  • func_name — идентификатор, то есть переменная, которая при выполнении инструкции def связывается со значением в виде объекта функции.
  • param — это необязательный список формальных параметров, которые связываются со значениями, предоставляемыми при вызове функции. В простейшем случае функция может вообще не иметь параметров. Это означает, что при ее вызове она не получает никаких аргументов. В определении такой функций круглые скобки после ее имени остаются пустыми, такими же они должны оставаться при ее вызове.

Первым оператором тела функции может быть строка документации функции. Существуют инструменты, которые используют строки документации для автоматического создания интерактивной или печатной документации или для предоставления пользователю интерактивного просмотра кода. Хорошей практикой является включение строк документации в код, который вы пишете, поэтому сделайте это привычкой.

Определение функции не выполняет тело функции, а только вычисляет аргументы, если они присутствуют. Тело функции выполняется только при вызове.

# Определим функцию, которая печатает список чисел ряда Фибоначчи до n
>>> def fib(n):
...     """Print a Fibonacci series up to n."""
...     a, b = 0, 1
...     while a < n:
...         print(a, end=' ')
...         a, b = b, a+b
...     print()
...
>>> # Вызов функции
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

При вызове функции создается область видимости для хранения локальных переменных этой функции и все созданные переменные внутри функции сохраняют свое значение только в этом пространство имен. Когда функция завершает выполнение, это пространство имен уничтожается.

Определение функции может быть заключено в одно или несколько выражений декоратора.

Когда один или несколько параметров имеют выражение, говорят, что функция имеет значения параметров по умолчанию. Для параметра со значением по умолчанию соответствующий аргумент может быть опущен в вызове. Если параметр имеет значение по умолчанию, то все последующие параметры также должны иметь значение по умолчанию — это синтаксическое ограничение.

Значения параметров по умолчанию оцениваются слева направо при определении функции. Это означает, что эти выражение вычисляется один раз, когда функция определена, и что для каждого вызова используется одно и то же предварительно вычисленное значение. Это особенно важно понимать, когда параметр по умолчанию является изменяемым объектом, таким как список или словарь

Функции в Python являются объектами первого класса. Значение имени функции имеет тип, который распознается интерпретатором как определяемая пользователем функция. Это значение может быть присвоено другому имени, которое затем может также использоваться как функция:

>>> fib
<function fib at 10042ed0>
>>> f = fib 
>>> f(100)
0 1 1 2 3 5 8 13 21 34 55 89
>>>

Исходя из других языков, можно возразить, что fib это не функция, а процедура, поскольку она не возвращает значение.

На самом деле, даже функции без оператора return возвращают значение, хотя и довольно скучное. Это значение называется None (встроенное имя). Вывод значения None обычно подавляется интерпретатором, если это единственное возвращаемое значение. Вы можете увидеть это, используя команду print():

>>> fib(0)
>>> print(fib(0))
None
>>>

Функция, которая возвращает список чисел ряда Фибоначчи, вместо того, чтобы печатать его:

>>> def fib2(n):  # возврат ряда Фибоначчи до n
...     """Возвращает список, содержащий ряд Фибоначчи до n."""
...     result = []
...     a, b = 0, 1
...     while a < n:
...         result.append(a)
...         a, b = b, a+b
...     return result
...
>>> f100 = fib2(100)    # вызов функции
>>> f100
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>>

Этот пример, демонстрирует некоторые новые возможности Python:

  • Оператор return возвращает значение из функции. return без аргумента возвращает None. Функции, у которых return не определен, также возвращает None.
  • Оператор result.append(a) вызывает метод объекта списка result. Метод — это функция, которая «принадлежит» объекту и имеет имя obj.methodname, где obj есть некоторый объект (может быть выражение), и methodname имя метода, которое определяется типом объекта. Разные типы определяют разные методы. Методы разных типов могут иметь одно и то же имя, не вызывая двусмысленности. Можно определить свои собственные типы объектов и методы, используя классы. Метод append(), показанный в примере, определен для объектов списка. Он добавляет новый элемент в конец списка.

Встроенные функции Python. | DOCS-Python.ru

Интерпретатор Python имеет ряд встроенных функций и классов, которые всегда доступны. Они перечислены здесь в алфавитном порядке, с их описанием и примерами применения в коде.


Функция abs() в Python.

Функция abs() преобразует целое число или число с плавающей запятой в его абсолютное значение.

Функция all() в Python.

Функция all() возвращает значение True , если все элементы в итераторе истинны, в противном случае она возвращает значение False

Функция any() в Python.

Функция any() возвращает True, если какой — либо (любой) элемент в итерируемом объекте True, в противном случае any() возвращает значение False.

Функция ascii() в Python.

Функция ascii() возвращает строку, содержащую печатаемое представление объекта(читаемую версию) с экранированными не-ASCII символами

Функция bin() в Python.

Функция bin() преобразует целое число в двоичную строку с префиксом 0b.

Класс bool() в Python.

Класс bool() возвращает логическое значение указанного объекта.

Функция breakpoint() в Python.

Функция останова breakpoint() обеспечивает удобство использования отладчика, поскольку нам не нужно явно импортировать pdb модуль, а так же писать дополнительный код, чтобы войти в отладчик.

Класс bytearray() в Python.

Класс bytearray() возвращает массив байтов bytearray, который является изменяемой последовательностью целых чисел в диапазоне от 0 <= х <256.

Класс bytes() в Python.

Класс bytes() возвращает байтовый объект bytes, который является неизменяемой последовательностью целых чисел в диапазоне от 0 <= х <256.

Функция callable() в Python.

Функция callable() возвращает True , если указанный объект вызываемый, в противном случае она возвращает значение False.

Функция chr() в Python.

Функция chr() вернет строку, представляющую символ, соответствующий переданному в качестве аргумента целому числу из таблицы символов Unicode. Допустимый диапазон аргументов — от 0 до 1114111

Декоратор classmethod в Python.

Делает указанную функцию методом класса. Метод класса может быть вызван либо для класса (например, C.f()), либо для экземпляра (например, C().f()).

Функция compile() в Python.

Функция compile() возвращает переданный, в качестве аргумента источник, в виде объекта кода, готового к выполнению.

Класс complex() в Python.

Класс complex() преобразует строку с записью комплексного числа в комплексное число или вернет комплексное число со значением переданных аргументов: действительной и мнимой частью.

Функция delattr() в Python.

Функция delattr() удаляет из объекта указанный атрибут, если объект позволяет это сделать.

Функция dict() в Python.

Функция dict() создаст словарь, инициализированный из необязательного позиционного аргумента и возможно пустого набора ключевых аргументов.

Функция dir() в Python.

Функция dir(), вызванная без аргумента, возвращает список имен в текущей локальной области, а вызванная с аргументом попытается вернуть список допустимых атрибутов для указанного объекта.

Функция divmod() в Python.

Функция divmod() возвращает кортеж, содержащий частное и остаток. Не поддерживает комплексные числа. Со смешанными типами операндов применяются правила для двоичных арифметических операторов.

Функция enumerate() в Python.

Функция enumerate() возвращает кортеж, содержащий пары (‘счётчик’, ‘элемент’) для элементов указанного объекта.

Функция eval() в Python.

Функция eval() выполняет строку-выражение, переданную ей в качестве обязательного аргумента и возвращает результат выполнения этой строки.

Функция exec() в Python.

Функция exec() поддерживает динамическое выполнение кода Python. Передаваемый в качестве аргумента объект должен быть либо строкой, либо объектом кода.

Функция filter() в Python.

Функция filter() фильтрует элементы переданного объекта при помощи пользовательской функции. Принимает в качестве аргументов пользовательскую фильтрующую функцию и объект, элементы которого следует отфильтровать.

Класс float() в Python.

Класс float() выполняет преобразование переданного числа или строки в число с плавающей запятой (в тип float)

Функция format() в Python.

Функция format() преобразует переданное значение в отформатированную строку, в соответствии с спецификацией формата Mini-Language

Класс frozenset() в Python.

Класс frozenset() преобразует строку или любую последовательность(итерацию) в неизменяемое множество frozenset

Функция globals() в Python.

Функция globals() возвращает словарь со значениями переменных, представляющий текущую глобальную область видимости модуля.

Функция hasattr() в Python.

Функция hasattr() проверяет существование атрибута в указанном объекте. Возвращает True, если атрибут с таким именем существует, иначе False.

Функция help() в Python.

Функция help() вызывает встроенную справочную систему. Эта функция предназначена для интерактивного использования.

Функция hex() в Python.

Функция hex() преобразует целое число в шестнадцатеричную строку с префиксом 0x.

Функция id() в Python.

Функция id() возвращает уникальный идентификатор для указанного объекта.

Функция input() в Python.

Функция input() позволяет обеспечить ввод пользовательских данных с консоли. Считывает строку данных, полученную с устройства ввода

Класс int() в Python.

Класс int() возвращает целочисленный объект, созданный из числа или строки, или возвращает 0, если аргументы не заданы.

Функция isinstance() в Python.

Функция isinstance() вернет True, если проверяемый объект является экземпляром указанного класса (классов), или прямым, косвенным или виртуальным подклассом от него.

Функция issubclass() в Python.

Функция issubclass() возвращает True, если указанный класс является подклассом (прямым, косвенным или виртуальным) указанного класса (классов).

Функция len() в Python.

Функция len() возвращает длину (количество элементов) в объекте. Аргумент может быть последовательностью или коллекцией

Класс list() в Python.

Класс list() создает или преобразует переданный объект, поддерживающий итерирование, в список, изменяемую последовательность с упорядоченными элементами. Элементы в списках упорядочены по очередности их добавления.

Функция locals() в Python.

Функция locals() обновляет и возвращает словарь с переменными и их значениями из текущей локальной области видимости

Функция map() в Python.

Функция map() выполняет пользовательскую функцию для каждого элемента последовательности, коллекции или итератора.

Класс memoryview() в Python.

Класс memoryview() возвращает ссылку на буфер обмена памяти, в которой находится переданный в качестве аргумента объект. Объект obj должен поддерживать протокол буфера обмена.

Функция next() в Python.

Функция next() возвращает следующий элемент итератора, вызвав его метод __next__().

Класс object() в Python.

Встроенный класс object() возвращает новый безликий объект и является базой для всех классов

Функция oct() в Python.

Функция oct() преобразует целое число в восьмеричную строку с префиксом 0o.

Функция open() в Python.

Функция open() открывает файл для чтения или записи при помощи файлового потока . Если файл не может быть открыт, бросается исключение OSError.

Функция ord() в Python.

Функция ord() для символа x вернет число, из таблицы символов Unicode представляющее его позицию. Функция ord() обратная chr().

Функция pow() в Python.

Функция pow() возвращает результат возведения числа base в степень exp, с опциональным делением по модулю mod.

Функция print() в Python.

Функцию print() выводит объекты в текстовый поток, отделяя их друг от друга ключевым аргументом sep и заканчивая поток аргументом end.

Класс property() в Python.

Класс property() позволяет использовать методы в качестве вычисляемых свойств объектов.

Класс range() в Python.

Класс range() генерирует арифметические прогрессии чисел с заданным шагом

Функция repr() в Python.

Функция repr() вернет строку, содержащую печатаемое формальное представление объекта.

Функция reversed() в Python.

Функция reversed() возвращает обратный итератор, то есть возвращает итератор, который перебирает элементы оригинала в обратном порядке. Функция reversed() не создает копию и не изменяет оригинал последовательности.

Функция round() в Python.

Функция round() вернет число, округленное до точности ndigits после десятичной точки. Если аргумент ndigits опущен или None, то вернет ближайшее целое число.

Класс set() в Python.

Класс set() создает или преобразует переданный объект iterable, поддерживающий итерирование, в новое множество set. Если аргумент iterable не указан, будет создано пустое множество.

Функция setattr() в Python.

Функция setattr() устанавливает значение атрибута указанного объекта по его имени.

Класс slice() в Python.

Класс slice() вернет срез/часть итерируемого объекта, которая будет следовать шаблону, указанному в аргументах.

Функция sorted() в Python.

Функция sorted() вернет новый отсортированный список из итерируемых элементов. Функция имеет два необязательных аргумента, которые должны быть указаны в качестве аргументов ключевых слов.

Класс str() в Python.

Класс str() выполнит преобразование и вернет строковую версию объекта.

Функция sum() в Python.

Функция sum(), начинает суммирование элементов последовательности с начального значения start, сложение происходит лева на право и в результате возвращает их сумму.

Функция super() в Python.

Функция super(), возвращает объект объект-посредник, который делегирует вызовы метода родительскому или родственному классу, указанного типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе.

Класс tuple() в Python.

Класс tuple() создает новый кортеж из итерируемого объекта, элементы которого идут в том же порядке, что и элементы переданного в качестве аргумента объекта

Класс type() в Python.

Класс type() с одним аргументом object возвращает тип объекта. Класс type() с тремя аргументами вернет объект нового типа. Это по сути динамическая форма заявления class

Функция vars() в Python.

Функция vars() вернет атрибут __dict__ — словарь пространства имен для модуля, класса, экземпляра или любого другого объекта с атрибутом __dict__.

Функция zip() в Python.

Функцию zip() создает итератор кортежей, который объединяет элементы из каждой из переданных последовательностей.

Функция __import__() в Python.

Функция __import__() импортирует имя модуля name, потенциально используя данные значений переменных глобальной globals и локальной locals областей видимости, чтобы определить, как интерпретировать имя name в контексте пакета.

Встроенные функции Python

Python имеет набор встроенных функций.

90 012 @staticmethod ()
Функция Описание
abs () Возвращает абсолютное значение числа
all () Возвращает True, если все элементы в повторяемом объекте истинны
any () Возвращает True, если любой элемент в итерируемый объект истинен
ascii () Возвращает читаемую версию объекта.Заменяет символы без ascii на escape-символ
bin () Возвращает двоичную версию числа
bool () Возвращает логическое значение указанного объекта
bytearray () Возвращает массив байтов
bytes () Возвращает объект байтов
callable () Возвращает True, если указанный объект является вызываемым, в противном случае — False
chr () Возвращает символ из указанного Код Юникода.
classmethod () Преобразует метод в метод класса
compile () Возвращает указанный источник как объект, готовый к выполнению
complex () Возвращает комплексное число
delattr () Удаляет указанный атрибут (свойство или метод) из указанного объекта
dict () Возвращает словарь (массив)
dir () Возвращает список свойства и методы указанного объекта
divmod () Возвращает частное и остаток при делении аргумента 1 на аргумент 2
enumerate () Принимает коллекцию (например,грамм. кортеж) и возвращает его как объект перечисления
eval () Оценивает и выполняет выражение
exec () Выполняет указанный код (или объект)
filter () Используйте функцию фильтра для исключения элементов в повторяемом объекте
float () Возвращает число с плавающей запятой
format () Форматирует указанное значение
frozenset () Возвращает Frozenset объект
getattr () Возвращает значение указанного атрибута (свойства или метода)
globals () Возвращает текущую глобальную таблицу символов в виде словаря
hasattr () Возвращает Истинно, если указанный объект имеет указанный атрибут (свойство / метод)
hash () Возвращает хэш-значение спецификации d object
help () Выполняет встроенную справочную систему
hex () Преобразует число в шестнадцатеричное значение
id () Возвращает идентификатор объекта
input () Разрешение пользовательского ввода
int () Возвращает целое число
isinstance () Возвращает True, если указанный объект является экземпляром указанного объекта
issubclass () Возвращает True, если указанный класс является подклассом указанного объекта
iter () Возвращает объект итератора
len () Возвращает длину объекта
list () Возвращает список
locals () Возвращает обновленный словарь текущей локальной таблицы символов
map () Возвращает указанный итератор с указанной функцией, примененной к каждому элементу
max () Возвращает самый большой элемент в итерации
memoryview () Возвращает объект просмотра памяти
min ( ) Возвращает наименьший элемент в итерируемом объекте
next () Возвращает следующий элемент в итерируемом объекте
() Возвращает новый объект
oct () Преобразует число в восьмеричное
open () Открывает файл и возвращает объект файла
ord () Преобразование целого числа представление Unicode указанного символа
pow () Возвращает значение x в степени y
print () Печатает на стандартное устройство вывода
property () Получает, устанавливает, удаляет свойство
range () Возвращает последовательность чисел, начиная с 0 и увеличивается на 1 (по умолчанию)
repr () Возвращает читаемую версию объекта
reverse () Возвращает обратный итератор
round () Округляет числа
set () Возвращает новый объект набора
setattr () Устанавливает атрибут (свойство / метод) объекта
slice () Возвращает объект среза
sorted () Возвращает отсортированный список
Преобразует метод в статический метод
str () Возвращает строковый объект
sum () Суммирует элементы итератора
super () Возвращает объект, представляющий родительский класс
tuple () Возвращает кортеж
type () Возвращает тип объекта
vars () Возвращает свойство __dict__ для объект
zip () Возвращает итератор от двух или более итераторов

Вызов, отступ, аргументы и возвращаемые значения

  • Главная страница
  • Тестирование

      • Назад Тестирование
      • BugZilla
      • Огурец
      • Тестирование базы данных
      • Тестирование ETL
      • 90 417 Jmeter
      • JIRA
      • Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Мобильное тестирование
      • Mantis
      • Почтальон
      • QTP
      • 904
      • QTP 904 904 904 904 SAP Testing
      • Selenium
      • SoapUI
      • Управление тестированием
      • TestLink
  • SAP

      • Назад
      • ABAP
      • 9017 9018 BASIN 9018 9018 BIS
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • FICO
      • HANA
      • HR
      • MM
      • QM
      • Заработная плата
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Менеджер по решениям 000
      • Успешные факторы
      • SAP Tutorials Web

          • Назад
          • Apache
          • AngularJS
          • ASP. Нетто
          • C
          • C #
          • C ++
          • CodeIgniter
          • СУБД
          • JavaScript
          • Назад
          • Java
          • JSP
          • Kotlin
          • Linux
          • MS SQL
          • MS SQL
          • Linux 90D js
          • Perl
          • Назад
          • PHP
          • PL / SQL
          • PostgreSQL
          • Python
          • ReactJS
          • Ruby & Rails
          • Scala Назад
          • SQL Server 904 904 904 904 904 904 SQL
          • UML
          • VB.Net
          • VBScript
          • Веб-службы
          • WPF
      • Обязательно изучите!

          • Назад
          • Бухгалтерский учет
          • Алгоритмы
          • Android
          • Блокчейн
          • Бизнес-аналитик
          • Создание веб-сайта
          • Облачные вычисления
          • COBOL
          • 901 901 904 9018 904 904 904 904 904 904 904 904 904 904 904 904 904 904

            Функции Python — ThePythonGuru. com

            1. Дом
            2. Блог
            3. Функции Python

            (Спонсоры) Начните изучать Python с помощью DataCamp’s бесплатный вводный курс по Python. Изучите науку о данных, выполняя интерактивные задания по программированию и просматривая видео от опытных инструкторов. Начать сейчас!