Найти в Дзене
programmer's notes (python and more)

Основы программирования на языке Python. Приложение 1 к уроку 23. Функции (начало)

Доброго времени суток, читатели, зрители моего канала programmer's notes.

Приложение к видео-уроку

Программирование на языке Python. Функции (основы)

Идея такого объекта как функция следующая: если у вас в программе есть одинаковые фрагменты или фрагменты, которые можно преобразовать к одному виду, то есть смысл написать функцию, а эти фрагменты заменить вызовом функции. Что это дает:

1. Уменьшает объем программы.

2. Даже если фрагмент всего один, то, возможно, есть смысл все равно вынести его в функцию. Тем самым вы придаете ему смысл и уменьшаете объем основной программы. Вынесенный фрагмент удобно будет анализировать.

3. Общий вид программ становится более понятным и легче читаться.

4. Легче исправлять возникшие ошибки: исправить ошибку в функции или исправлять похожие ошибки в разных частях программы.

5. Легче организовывать коллективную разработку. Функцию можно рассматривать как черный ящик: вход - выход.

Рассмотрим пример ниже

primer56.py, текст внизу
primer56.py, текст внизу
primer56.py

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

В этой связи интересная следующая программа.

primer57.py, текст внизу
primer57.py, текст внизу
primer57.py

Результат выполнения
[3, 1, 6, 8, 4, 2, 9, 6]
[9, 1, 36, 64, 16, 4, 81, 36]

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

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

primer58.py, текст внизу
primer58.py, текст внизу
primer58.py

Результат работы программы
55
75

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

В заключении хочется обратить на один важный момент. Точнее даже на два. 1. Мы можем указывать при вызове функции параметры, если они предусмотрены. 2. Из функции можно вызывать другую функцию. Последнее очень интересно и наталкивает нас на еще одну тему, к которой мы также обратимся позднее - рекурсия.

primer59.py, текст внизу
primer59.py, текст внизу
primer59.py

Результат выполнения программы

[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