Функции в Python

Функции в Python Вам уже немного знакомы. Вы использовали некоторые из них в предыдущих уроках.

Давайте теперь познакомимся с ними поближе. Узнаем подробнее о том, для чего они применяются, и как нам с ними работать.

Введение в функции в Python

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

В компьютерном коде тоже могут быть функции. Много функций.

Например, есть функция, которая выводит информацию на экран. Называется эта функция print()

Вы ее уже хорошо знаете. Не так ли?

А еще Вы знаете функцию list(), которая превращает кортеж в список. И функцию tuple() которая, наоборот, превращает список в кортеж()

Функции в Python бывают встроенными и пользовательскими.

Встроенные (build in), такие как print(), list(), tuple() уже есть в Python. И мы просто можем ими пользоваться.

Пользовательские (custom) функции – это те функции, которые мы можем создать сами. Если нам не хватает встроенных функций.

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

def – сокращение от define, что в переводе с английского означает “определить”.

А значит, когда мы создаем функцию, мы тем самым “определяем” ее обязанности.

Давайте посмотрим как это выглядит на примере кода:

def поздоровайся():
    print("Привет!")
    
поздоровайся()
Код.py

Запишите эту программу в наш компилятор, и запустите ее.

Получилось вывести сообщение на экран? Отлично! А теперь, давайте разбираться.

Сначала мы прописали ключевое слово def.

Затем прописали имя функции “поздоровайся”, поставили круглые скобки и точку с запятой.

Далее мы спустились на строчку ниже и сделали 3 отступа*

На этой новой строчке мы сказали нашей функции, что она должна делать. То есть выводить строку “Привет!”.

Для этого мы применили встроенную функцию print() и поместили строку “Привет!” в ее круглые скобки.

После чего спустились на 3 строчки ниже**.

И прописали имя нашей созданной функции, вместе с круглыми скобками. Это называется “вызвать функцию”

* После точки с запятой программа сама сделает 3 отступа, когда мы начнем новую строчку.

** Спускаться на 3 строчки ниже после определения функции – обязательно по правилам грамотного написания кода.

Если с этим все понятно, давайте перейдем к параметрам и аргументам функций.

Параметры и аргументы функций

Настало время поговорить про параметры и аргументы функций в Python.

Как Вы заметили, сразу после имени функции и ее вызова идут круглые скобки. Их необязательно оставлять пустыми.

В скобки, стоящие сразу после имени функции, можно поместить параметр функции. А в скобки, стоящие после вызова функции, можно поместить аргумент функции.

Давайте посмотрим на пример ниже. Чтобы понять, где параметры, а где аргументы функций в Python:

def поздоровайся(имя):
    print("Привет, " + имя + "!")
    
поздоровайся("Илон Маск")
Код.py

Слово “имя”, стоящее в скобках после поздоровайся – это параметр. А строка “Илон Маск”, стоящая в скобках после вызова функции – это аргумент.

Вы спросите, в чем разница между параметром и аргументом? И зачем они нам оба нужны?

Отличный вопрос! Ну так вот:

Параметр – это место, приготовленное для будущего значения. А аргумент – это и есть то значение, которое пришло на место, которое приготовил параметр.

Другими словами, параметр – это просто заполнитель. А аргумент – это то, что помещается в заполнитель.

Если с первого раза это трудно понять, не переживайте! Просто перечитайте несколько раз.

А теперь запишите этот код в наш компилятор, и запустите его.

def поздоровайся(имя):
    print("Привет, " + имя + "!")
    
поздоровайся("Илон Маск")
Код.py

Давайте разберем его подробно:

Мы поместили параметр под названием имя в круглые скобки функции.

Строчкой ниже мы склеили строки “Привет, ” и “!” с именем параметра.

Теперь мы можем вызвать функцию, и передать ей аргумент с любым значением. В нашем случае это строка “Илон Маск”.

Если с этим все понятно, потренируйтесь, замените “Илон Маск” на Ваше имя. И перезапустите код. Так Вы измените аргумент, подставив в него новое значение.

Как вернуть значение из функции

Возврат значений из функций – это обычная задача для программиста.

Давайте научимся это делать.

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

return в переводе с английского означает “возвращать”

Для того, чтобы Вам было понятно как все это выглядит, я создал функцию под названием “терминатор”. И ее обязанность – возвращать нам сообщение “Я еще вернусь…”

def терминатор(слова):
    return "{}".format(слова)
    
сообщение = терминатор("Я еще вернусь...")
print(сообщение)
Код.py

Запишите этот пример в наш компилятор, и запустите его. Давайте внимательно его разберем:

Сначала мы прописали ключевое слово def. И назвали нашу функцию “терминатор”.

Затем мы открыли круглые скобки, и передали в них параметр под названием “слова”.

Строкой ниже, после трех отступов, мы прописали ключевое слово return.

А после return мы создали форматированную строку (помните эту тему?)

Так у нас получилась функция, которая возвращает значение при помощи форматированной строки.

Затем мы спустились на четвертую строчку, и “вызывали” функцию терминатор, прописав ее.

Затем, в качестве аргумента, мы передали ей строку “Я еще вернусь…”

И после этого мы сохранили вызов функции со значением “Я еще вернусь…” в переменной “сообщение”.

Наконец, мы спустились на строчку ниже, и вывели сообщение на экран.

Поработайте с этим кодом. Меняйте название функции, аргументов и значений. Перезапускайте код, и смотрите, как изменяется ответ программы.

Вложенные функции в Python

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

Вот, как мы это сделаем:

def поздоровайся(имя):
    print("Привет, " + имя + "!")

def сообщение(имя, вопрос):
    поздоровайся(имя)
    print("Скажи, " + вопрос)

сообщение("Илон", "когда летим на Марс?")
Код.py
# Пишем код сюда

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

А теперь давайте рассмотрим наш код поподробнее.

На строчке 1 мы создали функцию под названием “поздоровайся”, и передали ей “имя” в параметр.

На строчке 2 мы вывели строки “Привет, ” и “!”, и соединили их с параметром функции.

В строчке 4 мы создали еще одну функцию под названием “сообщение”. Затем передали ей параметр первой функции (имя) и новый параметр (вопрос).

На строчке 5 мы вложили первую функцию во вторую, объявив имя первой функции с ее параметром.

На строчке 6 мы вывели строку “Скажи, ” и соединили ее со вторым параметром функции.

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

Если Вы не сразу все поняли, не переживайте. Понимание приходит с повторением и практикой.

Перечитывайте приведенный расклад столько, сколько Вам необходимо.

Меняйте код под себя, перезапускайте программу, и наблюдайте за тем, как меняется ее ответ.

Функции в Python, итоги

В десятой части Вы сделали следующее:

  1. Узнали о функциях в Python;
  2. Изучили параметры и аргументы функций;
  3. Научились возвращать значения из функций;
  4. Освоили вложенные функции.

Поздравляю Вас с завершением очередного урока! Мы движемся к завершению нашего курса. Осталась пара тем. И следующая из них – Классы и объекты в Python. Приступим!

python-online-survey

Вам понравится:

Python Online – онлайн компилятор, с которым вы можете писать, запускать и проверять свой код без установки программ.

Начинаем Программировать на Python

Программировать на Python легко! Давайте начнем и сразу напишем нашу первую строчку кода на Python! Любая, даже самая продвинутая программа…

Переменные в Python

Переменные в Python создаются просто. И в этом уроке Вы с легкостью научитесь их создавать и применять в своем коде….