В Python, также как и во многих других языках, чтобы избегать повторного написания кода, используются функции. В этой статье мы покажем на примерах, как в Python вызвать написанную функцию, в том числе вложенную.
Чтобы определить функцию в Python, нужно сначала написать ключевое слово def, затем имя функции и круглые скобки. После имени и круглых скобок пишется двоеточие. Далее следует код самой функции.
Базовый синтаксис функции имеет следующий вид:
def function_name():
# То, что должна делать эта функция Пример реальной функции выглядит вот так:
def learn_to_code():
print("You can learn to code for free on Pythonist") Назначение данной функции — выводить в консоль следующий текст: «You can learn to code for free on Pythonist».
Но чтобы данная функция заработала, ее нужно вызвать.
От редакции Pythonist: подробнее о создании функций читайте в статье «Функции и их аргументы в Python 3».
Чтобы вызвать функцию, необходимо написать ее имя, после которого следуют круглые скобки.
Синтаксис вызова функции выглядит так:
function_name()
То есть, чтобы вызвать функцию, которую мы определили ранее, нам нужно написать Learn_to_code():
def learn_to_code():
print("You can learn to code for free on Pythonist")
learn_to_code()
# Результат:
# You can learn to code for free on Pythonist Замечание: убедитесь, что вы не указываете вызов функции внутри блока самой функции. Это не сработает, потому что вызов будет рассматриваться как часть выполняемой функции.
Можно заметить, что функция не выводит текст в консоль, так как была вызвана внутри блока функции.
А здесь текст выводится как надо, потому что функция была вызвана правильным образом.
Теперь разберем, как вызвать вложенные функции. Этот вопрос иногда вызывает некоторое затруднение.
Вот пример вложенной функции:
def learn_to_code():
print("You can learn to code for free on freeCodeCamp")
def learn_what_language():
print("You can learn any programming language on the freeCodeCamp YouTube channel") Функция Learn_what_language является частью функции Learn_to_code, так как находится внутри ее.
Если вы наберете learn_to_code() и запустите код, будет вызвана только внешняя функция learn_to_code:
Как видите, вызывается только внешняя функция.
Чтобы также вызвать внутреннюю функцию, нужно добавить learn_what_language(). Но вот где именно?
Возможно, вызов следовало бы написать непосредственно после определения внутренней функции внутри блока внешней функции.
Но без вызова внешней функции это также не сработает:
Вы можете заметить, что внутренняя функция learn_what_language() по-прежнему не делает то, что мы хотим.
Чтобы данный код работал правильно, необходимо вызвать обе функции следующим образом:
def learn_to_code():
print("You can learn to code for free on freeCodeCamp")
def learn_what_language():
print("You can learn any programming language on the freeCodeCamp YouTube channel")
learn_what_language()
learn_to_code()
"""
Результат:
You can learn to code for free on freeCodeCamp
You can learn any programming language on the freeCodeCamp YouTube channel
""" Теперь все работает должным образом.
В данной статье мы разобрали, как определять функции и вызывать их. Также мы рассмотрели, как вызывать вложенные функции. Мы надеемся, что в дальнейшем у вас не возникнет никаких затруднений в данных вопросах.
Продолжайте учиться и кодить!
Перевод статьи Colade Chris «How to Call a Function in Python – Def Syntax Example».
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…