Уроки Python для начинающих | #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. Пример создания такой функции:
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))

Чувствую, придётся пересматривать и ещё раз прогнать.