Как программист, вы часто будете неоднократно выполнять действие или задачу. Это может быть утомительно и отнимать много времени, особенно при работе с большой или сложной базой кода. Автоматизация их с помощью функций — более эффективный подход к выполнению таких задач. Функции позволяют вам один раз написать логику кода и использовать ее в любом месте вашей программы.
Что такое функция Python?
В Python функция — это блок кода, используемый для выполнения определенной задачи. Вам нужно написать функцию только один раз, но вы можете использовать ее несколько раз в своем коде. Функция может принимать аргументы в качестве входных данных и возвращать выходные значения. Эта простая программа показывает функцию, которая вычисляет сумму трех чисел:
# Функция Python для вычисления суммы трех чисел
дефрассчитать_сумму(а, б, в):
возвращаться а+б+в
распечатать (рассчитать_сумму(1,2,3)) # возвращает 6
распечатать (рассчитать_сумму(1000, 300,44)) # возвращает 1344
распечатать (рассчитать_сумму(12, 4,78)) # возвращает 94
В приведенной выше программе функция возвращает сумму трех аргументов. Когда функция вызывается несколько раз, она возвращает разные выходные данные для каждого случая. Полезным приложением для этой функции будет приложение-калькулятор.
Определение функции в Python
Python имеет множество встроенных функций. доступны для использования разработчиками. Однако этих встроенных функций не всегда достаточно для удовлетворения требований большинства проектов. Чтобы удовлетворить пользовательские требования, вы должны определить свои пользовательские функции. Определение пользовательских функций является обычной практикой в программировании.
В Python вы можете определить пользовательскую функцию, используя деф ключевое слово, за которым следует имя вашей функции со скобками перед ним. Вот пример:
дефимя_функции()
Вы должны принять к сведению эти правила при назначении имени функции в Python:
- Имена функций должны быть в нижнем регистре.
- Имена функций должны быть описательными.
- Используйте символы подчеркивания для разделения слов в имени функции.
После определения функции вы должны написать логику для выполнения желаемой задачи. Например, эта функция вычисляет площадь треугольника:
# Функция Python для вычисления площади треугольника
дефcalculate_triangle_area(база, высота):
площадь = (основание * высота)/2
возвращаться область
распечатать (рассчитать_площадь_треугольника(12, 3))
Функция выше определяет два параметра: база и высота, делит их произведение на два и возвращает результат в качестве вывода. Вы можете написать любую логику, которую вы хотите, чтобы ваша функция выполняла.
Понимание аргументов функций
В предыдущих примерах функции принимали аргументы для выполнения действий. Аргументы в этих примерах известны как обязательные или позиционные аргументы. В Python ваши аргументы могут быть одним из следующих:
- Позиционные аргументы
- Аргументы ключевых слов
Позиционные аргументы
Позиционные аргументы должны передаваться в правильном порядке определения. Например, если вы определяете функцию с параметрами а, б, и в, вы должны передавать значения для этих параметров соответственно при их вызове. Давайте рассмотрим предыдущий пример:
# Функция Python для вычисления суммы трех чисел
дефрассчитать_сумму(а, б, в):
возвращаться а+б+в
распечатать (рассчитать_сумму(1,2,3)) # возвращает 6
распечатать (рассчитать_сумму(1000, 300,44)) # возвращает 1344
распечатать (рассчитать_сумму(12, 4,78)) # возвращает 94
В приведенной выше программе вычислить_сумму() функция принимает три аргумента всякий раз, когда мы ее вызываем. Каждый аргумент представляет соответствующий параметр. В первом вызове функции числа 1, 2, и 3 представлять а, б, и с соответственно.
Параметр объявляется в определении функции, а аргумент — это значение, передаваемое при вызове функции. Это значение является представлением соответствующего параметра.
Позиционные аргументы обязательны. Если вы их не добавите, вы получите Ошибка типа. Следующий пример демонстрирует это:
дефрассчитать_сумму(а, б, в):
возвращаться а+б+в
распечатать (рассчитать_сумму(1,2)) # вызывает TypeError
Когда вы запустите указанную выше программу на своем компьютере, вы получите сообщение об ошибке, подобное изображенному на изображении ниже:
Аргументы ключевых слов
Аргументы ключевого слова не обязательно должны передаваться всякий раз, когда вы вызываете функцию. Это необязательные аргументы, и им не нужно следовать определенному порядку. Python позволяет нам использовать *args и **kwargs чтобы указать аргументы ключевого слова.
Помимо использования *аргументы и **кваргс, также можно указать значения по умолчанию для ваших аргументов. Это не приведет к ошибке, если вы забудете добавить значение при вызове функции. Этот пример дает иллюстрацию:
дефрассчитать_сумму(а, б, с=3):
возвращаться а+б+в
распечатать (рассчитать_сумму(1,2)) # возвращает 6
В приведенной выше программе, когда вычислить_сумму() называется, аргументов за в; это не повлияет на программу, потому что с уже имеет значение по умолчанию. Вы можете указать значения по умолчанию для любого количества аргументов, но убедитесь, что вы делаете это с умом.
Используйте функции для организации кода
Функции полезны для организации вашего кода, делая его более читабельным и эффективным. С помощью функций вы можете разбить свой код на более мелкие повторно используемые фрагменты, которые легче понять и поддерживать. Кроме того, если вам нужно внести изменения в свой код, вам нужно изменить только необходимую функцию, а не всю кодовую базу.