Доброго времени суток, читатели, зрители моего канала programmer's notes.
Приложение к видео-уроку
Программирование на языке Python. Функции (основы)
Идея такого объекта как функция следующая: если у вас в программе есть одинаковые фрагменты или фрагменты, которые можно преобразовать к одному виду, то есть смысл написать функцию, а эти фрагменты заменить вызовом функции. Что это дает:
1. Уменьшает объем программы.
2. Даже если фрагмент всего один, то, возможно, есть смысл все равно вынести его в функцию. Тем самым вы придаете ему смысл и уменьшаете объем основной программы. Вынесенный фрагмент удобно будет анализировать.
3. Общий вид программ становится более понятным и легче читаться.
4. Легче исправлять возникшие ошибки: исправить ошибку в функции или исправлять похожие ошибки в разных частях программы.
5. Легче организовывать коллективную разработку. Функцию можно рассматривать как черный ящик: вход - выход.
Рассмотрим пример ниже
Функция возвращает разность между наибольшим и наименьшим элементом списка ls. Меняя содержимое списка, мы всегда можем вызвать данную функцию, чтобы получить результат. Конечно, в данном случае это несложный алгоритм, но всегда проще вызывать функцию, которая уже проверена и отлажена, чем каждый раз писать алгоритм заново. Согласитесь, что это так.
В этой связи интересная следующая программа.
Результат выполнения
[3, 1, 6, 8, 4, 2, 9, 6]
[9, 1, 36, 64, 16, 4, 81, 36]
Последние две программы это примеры того, как внутри функции можно обращаться к глобальным переменным. Мы отложим подробный разбор глобальных и локальных переменных до одного из следующих уроков.
Следующий пример того, как функция может возвращать результат своей работы
Результат работы программы
55
75
Тут нужно понимать, что в силу особенностей языка Python возвратить можно сколь угодно сложный результат (сложную структуру).
В заключении хочется обратить на один важный момент. Точнее даже на два. 1. Мы можем указывать при вызове функции параметры, если они предусмотрены. 2. Из функции можно вызывать другую функцию. Последнее очень интересно и наталкивает нас на еще одну тему, к которой мы также обратимся позднее - рекурсия.
Результат выполнения программы
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Думаю, что из результата выполнения программы очевидна и ее цель. Важно обратить внимание на функцию rn(), которая возвращает пару чисел, из которых первое всегда не больше второго.
Всего наилучшего. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.
#программирование #программисты #языки программирования #python