В этой части учебника мы разберём как работают функции в Python, это пожалуй одна из самых важных вещей которые стоит знать.
Что такое функция в Python:
Для начала разберём что такое функция на языке Python, если кратко говоря, то это это специальная конструкция, которая позволяет хранить куски кода и потом использовать их, там где вам надо.
То есть они нужны, чтобы не повторять код по сто раз, а написать один раз один кусок и использовать в тех частях, где это необходимо, плюс таким образом можно упростить читабельность.
Как работают функции в Python:
Теперь разберём как с ними работать, а в языке программирования Python это очень легко.
В первую очередь вам нужно использовать ключевое слово def
, потом название, крeглые скобки, двое точнее, и пишите внутри то, что вам нужно.
Вот не большой пример:
1 2 3 4 | # Создание функции fun_a() def fun_a(): # Вывод текста в консоль print("Эта новая функция") |
После того как вы создали функцию, вы можете её объявить, вот так:
1 2 | # Объявление функции fun_a() |
Вот что у нас будет в терминале:
Как видите всё вывелось, таким образом вы можете использовать её сколько раз вам надо, хоть 100 или 1000, это не важно.
Также иногда бывает полезно, чтобы функция возвращала пока None
, например пока вы делаете шаблон функции, для этого просто пишите внутри pass
, вот пример:
1 2 | def fun_a(): pass |
Эта функция вернёт None, вот и всё.
Что такое аргументы функции в Python:
Также вы можете передавать аргументы в функцию, их объявление происходит в круглых скобках, вот пример:
1 2 3 4 | # Создаём функцию def sum_num(a, b): # Возвращаем сумму аргументов a и b return a + b |
Также вы можете заметить ключевое слово return
, оно нам позволяет вернуть результат работы функции, в нашем случае, возвращает сума a
и b
.
Таким образом, мы можем результат присвоить переменной, или если вызовем функцию в print()
, то сразу вывести.
Вот как мы вызываем и присваиваем значение работы функции:
1 2 3 4 | # Вызываем функцию и присваиваем результат работы num = sum_num(10, 2) # Выводим переменную num print(num) |
Как видите тут всё просто, у нас должно вывестись 12.
Также вы можете задать аргументам значение по умолчанию, делается это таким образом:
1 2 | def sum_num(a, b, c=7): return a + b + c |
Как видите тут мы в качестве аргумента по умолчанию используем c
со значением 7, вот вызываем эту функцию и выводим результат работы:
1 2 3 4 | # Вызываем без назначения аргумента со значением по умолчанию print(sum_num(10, 2)) # Вызываем с назначением аргумента со значением по умолчанию print(sum_num(10, 2, 3)) |
Как видите в первом случаем мы не назначаем аргумент c, поэтому результат будет «10+2+7=19», а результат второй должен получиться «10+2+3=15», потому-что c теперь у нас равен 3, поэтому так получается.
Вот результат работы программы:
Как видите вывелось всё как я сказал.
Примечание:
Если вы используете несколько аргументов со значениями по умолчанию, но вы не хотите задавать их последовательно, то можете прямо при вызове назначать конкретно значение, для конкретно параметра, вот пример:
1 | sum_num(c=10, b=2, a=3) |
Последние что стоит сказать про аргумент, так это что вы можете использовать *args
, то есть задавать не определённые аргументы, при этом можно их задавать сколько их угодно.
Вот не большой пример работы с такими аргументами:
1 2 | def sum_num(*args): return args |
То есть тут мы просто возвращаем аргументы которые впишем, давайте вызовем её:
1 | print(sum_num(10, 2, 9, 10)) |
Как видите мы ввели туда несколько аргументов, вот что должно вывестись:
Как видите у нас вывелся картеж, но если вы хотите получить не картеж, а словарь, часто бывает им удобнее работать, то вместо *args
, пишем **args
, в таком случаем при вызове функции пишем ещё и название аргумента.
Вот не большой пример со словарём:
1 | print(sum_num(name="Vova", surname="Pupkin")) |
В таком случае мы при запуске программы получим словарь.
Вывод:
В этой части учебника вы прочитали про то как работают функции в Python, что это вообще такое, и зачем для них нужны аргументы.