Найти в Дзене

Функции в Python

Функция - это блок кода, который выполняется только тогда, когда её вызывают. 📞 Вы можете передавать данные, известные как параметры, в функцию. Функция может возвращать данные как результат. Создание функции 🏗️ В Python функция определяется с помощью ключевого слова def: Вызов функции 📢 Чтобы вызвать функцию, используйте имя функции с круглыми скобками: Аргументы Информация может передаваться в функции в виде аргументов. Аргументы указываются после имени функции, в круглых скобках. Вы можете добавить сколько угодно аргументов, просто разделяя их запятой. В документации Python аргументы часто сокращают до *args. Параметры или аргументы? Термины параметр и аргумент могут использоваться для обозначения одного и того же: информации, передаваемой в функцию. С точки зрения функции: Количество аргументов 📊 По умолчанию функция должна вызываться с правильным количеством аргументов. Произвольные аргументы *args Если вы не знаете, сколько аргументов будет передано в функцию, добавьте * пер

Функция - это блок кода, который выполняется только тогда, когда её вызывают. 📞

Вы можете передавать данные, известные как параметры, в функцию.

Функция может возвращать данные как результат.

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

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

-2

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

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

-3

Аргументы

Информация может передаваться в функции в виде аргументов.

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

-4

В документации Python аргументы часто сокращают до *args.

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

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

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

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

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

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

-5

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

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

-6

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

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

-7

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

Если вы не знаете, сколько ключевых аргументов будет передано, добавьте ** перед именем параметра:

-8

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

Следующий пример показывает, как использовать значение параметра по умолчанию. ⚡

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

-9

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

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

Например, если вы передадите список в качестве аргумента, он останется списком при получении функцией:

-10

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

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

-11

Инструкция pass

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

-12

Позиционные и ключевые аргументы

Вы можете указать, что функция должна принимать ТОЛЬКО позиционные аргументы ИЛИ ТОЛЬКО ключевые аргументы. 🎯

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

-13

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

-14

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

Любые аргументы до / являются только позиционными, а любые аргументы после * являются только ключевыми.

Рекурсия 🔄

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

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

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

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

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

-15

💥Малоизвестный трюк:

Многие не знают, что функции в Python могут сохранять состояние между вызовами, как объекты. Это достигается с помощью атрибутов функций!

-16

💡 ЗАГАДКА ДЛЯ ЧИТАТЕЛЕЙ

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

-17

Варианты ответов:

  1. ['🎁'] три раза
  2. ['🎁'], ['🎁'], ['🎁']
  3. ['🎁'], ['🎁', '🎁'], ['🎁', '🎁', '🎁']
  4. Ошибка