В 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».
Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…