Найти в Дзене
Дружелюбный Питон

Глава 3. Ингредиенты или "Из чего состоит программа?". Функции

Предыдущая статья: Ф у н к ц и я – логически завершённый фрагмент программы: команда или блок команд. Функция так же, как и переменная, понятие составное. Она состоит из и м е н и ф у н к ц и и, д а н н ы х, переданных функции для обработки, и к о м а н д, которые оперируют переданными данными (данные и команды – ничего не напоминает? Конечно, выражения! 😊 Когда выражению присваиваем имя - получаем функцию). Мы уже знаем функцию «print()». Кроме того, в Python встроены и другие, наиболее востребованные, функции. Они хороши тем, что написаны добрыми самаритянами за программиста, составляющие их блоки команд оптимизированы и «спрятаны» внутри Программы. Программисту достаточно вызвать нужную функцию по её имени. На мой взгляд, операторы – это тоже такие ма-а-аленькие функции. Только никому об этом не говорите. 😊 Однако, обойтись только лишь встроенными функциями во многих случаях не получится. Программисту придётся о п р е д е л и т ь (сформировать) свою функцию: дать ей имя
AI. Минимализм. Эмблема "Python"
AI. Минимализм. Эмблема "Python"

Предыдущая статья:

Ф у н к ц и я – логически завершённый фрагмент программы: команда или блок команд.

Функция так же, как и переменная, понятие составное. Она состоит из и м е н и ф у н к ц и и, д а н н ы х, переданных функции для обработки, и к о м а н д, которые оперируют переданными данными (данные и команды – ничего не напоминает? Конечно, выражения! 😊 Когда выражению присваиваем имя - получаем функцию).

Мы уже знаем функцию «print()». Кроме того, в Python встроены и другие, наиболее востребованные, функции. Они хороши тем, что написаны добрыми самаритянами за программиста, составляющие их блоки команд оптимизированы и «спрятаны» внутри Программы. Программисту достаточно вызвать нужную функцию по её имени.

На мой взгляд, операторы – это тоже такие ма-а-аленькие функции. Только никому об этом не говорите. 😊

Однако, обойтись только лишь встроенными функциями во многих случаях не получится. Программисту придётся о п р е д е л и т ь (сформировать) свою функцию: дать ей имя, предусмотреть, какие данные и как она будет использовать, составить алгоритм действий: необходимые команды и их последовательность.

Предположим, вы хотите не просто вывести на экран опостылевшую уже фразу «Привет, Новичок!» при помощи встроенной функции «print». Вы хотите создать (определить) свою функцию, которая при вызове будет … выводить на экран фразу «Привет, Новичок!» 😊😊😊.

Давайте приступим к её определению.

Для определения функций в Python зарезервировано ключевое слово «def» (от англ. define — определить, обозначить).

Дадим нашей функции имя «salute»:

def salute():

После имени функции в с е г д а следуют круглые скобки, в которых программист может объявить* какие-либо переменные, с которыми будет работать функция. Если это не сделано – скобки останутся пустыми (по этим скобкам Программа и «понимает», что это - функция).

* «Объявить» – это наш, особый, программёрный язык, который ни фига никто не понимает – ни люди, ни машины 😊. Здесь «объявить» – это просто написа́ть, указать.

После имени со скобками о б я з а т е л ь н о ставится двоеточие («:»).

После двоеточия с новой строки следует б л о к к о м а н д.

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

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

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

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

В принадлежащем функции блоке команд приме́ним знакомую функцию «print»:

(Salut.py)
def salute():
print('Привет, Новичок!')

Таким образом, в теле функции будет только одна команда или, иначе, блок команд функции будет содержать только одну команду.

Функция определена, но, чтобы она «заработала», её надо вызвать. В ы з о в ф у н к ц и и осуществляется простым указанием её имени:

salute()

Перед запуском кода сохраните скрипт в файл «Salute.py»:

Salute.py
Salute.py

Вот, собственно, и всё 😊. Первый виток завершён. Конец Первой части.

СТАРАЙТЕСЬ ПИСАТЬ БОЛЬШЕ КОДА!

Последующая статья: