#12 - Функции (def, lambda, return)

#12 - Функции (def, lambda, return)

В уроке мы затронем тему функций в языке Python. Мы разберемся с ключевыми понятиями, такими как: def, lambda и return, а также мы научимся создавать функции и вызывать их. На основе функции нами будут построены различные мини программы.

Видеоурок

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


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


Точно такая же ситуация обстоит с переменным. В классах переменные называются полями, а вне классов - переменными.


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

def some_test(): # Функция без параметров
	x = 23
	return x # Функция возвращает что-либо

def some_test_2(a, b, c): # Функция с 3 параметрами
	return a * b * c # Функция возвращает результат умножение чисел

def print_something(word, prefix): # Функция с 2 параметрами
	print (prefix, "-", word)
	pass # Функция ничего не возвращает

Когда функция ничего не возвращает, то необходимо прописывать ключевое слово pass


Функции могут возвращать другие функции, тем самым вызывая их. Чтобы обратиться к функции необходимо прописать её названи и передать параметры, если таковы имеются:

res = some_test_2 (2, 67, 12)

В примере выше результат выполнения функции будет помещен в переменную res. Далее с переменной можно работать как с обычным значением в программе.


Анонимные функции

Если функция не должна выполнять большой объем кода, то можно воспользоваться анонимной функцией. Для этого потребуется функция lambda


Пример создания «lambda» функции:

multiple = lambda a, b: a * b
multiple(7, 12)

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

Исходный код

Примеры функций
def func (**args):
	return args

print (func (short='dict', longer='dictionary'))

add = lambda x, y: x * y
print (add (2, 5))
print (add ('q', 5))

print ((lambda x, y: x * y)(2, 6))

fun = lambda *args: args
print (fun (2, 56, 78.56))

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

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

Также стоит посмотреть

Уроки Python Django / Создание сайта
12 уроков
Создание игры на Python 3 с PyGame
5 уроков
Изучение Flask / Создание сайта на Python
6 уроков
Изучение Python до профи / Основы, Django, TKinter
Комментарии для сайта Cackle