Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Как работают функции в Python?

6 ноября 2022 г. Archy Просмотров: 3085 RSS 2
Python для начинающих

функции в Python

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

Создание функции

В Python функция определяется с помощью ключевого слова def:

def my_function():
  print("Hello from a function")

Вызов функции

Чтобы вызвать функцию, используйте имя функции, за которым следуют круглые скобки:

def my_function():
  print("Hello from a function")
my_function()
Для школьников и студентов был создан портал Udarenie.org где вы можете узнать куда падает ударение в разных словах русского языка. Чтение слов используя правильное ударение свидетельствуют об отличных знаниях русского языка.

Аргументы

Информация может быть передана в функции в качестве аргументов. Аргументы указываются после имени функции, внутри круглых скобок. Вы можете добавить столько аргументов, сколько хотите, просто разделяйте их запятой. В следующем примере есть функция с одним аргументом (fname). При вызове функции мы передаем имя, которое используется внутри функции для вывода полного имени:

def my_function(fname):
  print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")

Параметры или аргументы?

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

С точки зрения функции:

  • Параметр - это переменная, указанная в круглых скобках в определении функции.
  • Аргумент - это значение, которое передается в функцию при ее вызове.

Количество аргументов

По умолчанию функция должна вызываться с правильным количеством аргументов. Это означает, что если ваша функция ожидает 2 аргумента, вы должны вызвать функцию с 2 аргументами, не больше и не меньше.

Эта функция ожидает 2 аргумента и получает 2 аргумента:

def my_function(fname, lname):
  print(fname + " " + lname)
my_function("Emil", "Refsnes")

Если вы попытаетесь вызвать функцию с 1 или 3 аргументами, вы получите ошибку.

Произвольные аргументы, *args

Если вы не знаете, сколько аргументов будет передано в вашу функцию, добавьте * перед именем параметра в определении функции. Таким образом, функция получит кортеж аргументов и сможет обращаться к ним соответствующим образом:

def my_function(*kids):
  print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")

Аргументы по ключевым словам

Вы также можете передавать аргументы с помощью синтаксиса "ключ = значение". В этом случае порядок аргументов не имеет значения.

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)
my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

В документации по Python фраза Keyword Arguments часто сокращается до kwargs.

Произвольные аргументы ключевых слов, **kwargs

Если вы не знаете, сколько аргументов ключевых слов будет передано в вашу функцию, добавьте две звездочки: ** перед именем параметра в определении функции. Таким образом, функция получит словарь аргументов и сможет обращаться к ним соответствующим образом:

def my_function(**kid):
  print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")

Значение параметра по умолчанию

В следующем примере показано, как использовать значение параметра по умолчанию. Если мы вызываем функцию без аргумента, она использует значение по умолчанию:

def my_function(country = "Norway"):
  print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Передача списка в качестве аргумента

Вы можете передать в функцию аргумент любого типа данных (строка, число, список, словарь и т.д.), и он будет рассматриваться как тот же тип данных внутри функции. Например, если в качестве аргумента вы передадите List, то по достижении функции он все равно будет List:

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Возвращаемые значения

Чтобы функция вернула значение, используйте оператор return:

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Рекурсия

Python также допускает рекурсию функций, что означает, что определенная функция может вызывать сама себя. Рекурсия - это распространенная концепция математики и программирования. Она означает, что функция вызывает сама себя. Это означает, что вы можете циклически перебирать данные, чтобы достичь результата.

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

В этом примере tri_recursion() - это функция, которую мы определили для вызова самой себя ("recurse"). В качестве данных мы используем переменную k, которая уменьшается (-1) каждый раз, когда мы выполняем рекурсию. Рекурсия заканчивается, когда условие не больше 0 (т.е. когда оно равно 0).

Начинающему разработчику может потребоваться некоторое время, чтобы понять, как именно это работает, лучший способ узнать это - протестировать и модифицировать.

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Example Results")
tri_recursion(6)
Комментариев: 2
  1. Привет господа! [url=https://video-camer.ru/catalog/pribory-nochnogo-videniya/]Приборы ночного видения[/url]

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

    Увидимся!

  2. Добрый день уважаемые! ВИДЕООБЗОРЫ ТОВАРОВ

    Приборы ночного видения Наиболее простым является ночной монокуляр — удерживаемая в руке оператора зрительная труба обычно невысокой кратности. Существуют также приставки ночного видения к дневным оптическим прицелам. Эти приборы должны выдерживать отдачу оружия, не все прицелы могут применяться на стрелковом оружии высокой мощности. Альтернативным вариантом прицеливания через ПНВ является использование закрепленного на оружии инфракрасного лазерного целеуказателя, невидимый глазу луч которого наблюдается через очки ночного видения. Приборы ночного видения также устанавливаются и на боевую технику, где они интегрированы в прицельные комплексы.

    Увидимся!

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)