Композиция в программировании

123 прочитали
Сегодня расскажу об элементарной вещи, за что меня, наверно, опять закидают в комментариях тухлыми помидорами ))) Ну ничего. Я уже много раз говорил, что мои каналы рассчитаны, в основном, на новичков.

Сегодня расскажу об элементарной вещи, за что меня, наверно, опять закидают в комментариях тухлыми помидорами ))) Ну ничего. Я уже много раз говорил, что мои каналы рассчитаны, в основном, на новичков. Поэтому я часто пишу о вещах, о которых вроде бы и так все знают. Однако у меня (в отличие от некоторых комментаторов) есть опыт обучения людей программированию, поэтому я знаю, что многие, даже очень простые вещи, на начальном этапе обучения не кажутся такими уж очевидными.

Новички обычно легко понимают такие вещи, как объявление переменных и простые операции с ними. Например:

x = 10
y = 13

Здесь у нас образовалось две переменные, которым мы присвоили начальные значения. Пример на языке Python, поскольку он хорошо подходит для описания таких простых вещей.

Дальше мы можем сделать, например, вот так:

x = y + 100

после чего в х появится значение 113 - результат сложения значения в переменной у и числа 100. Всё это очень просто и не вызывает затруднений даже у школьников начальных классов, потому что это в пределах школьного курса математики, а по сути математикой и является.

Однако в программах такие простейшие выражения встречаются не так уж и часто. Как правило, такие простые вещи объединяются в более сложные.

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

type(x + y)

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

type(type(x))

Тоже не особо полезный пример, но так делать можно. Здесь сначала будет вызвана type(x). Она будет выполнена и вернёт какой-то результат. И результат её работы уже передаётся в качестве параметра в другую функцию type. Кстати, что такое type можно узнать здесь.

Таким образом можно составлять сколь угодно сложные выражения. Главное правило одно: слева от оператора присваивания должна находиться переменная, а справа - выражение, возвращающее результат.

Хотя чрезмерно увлекаться сложными выражениями не стоит. Желательно, чтобы через месяц, вернувшись к своей программе, вы смогли в ней разобраться )))

Таким образом композиция в программировании - это сложное выражение, составленное из простых.

Ну а вообще композиция - это составление целого из частей (например, мелодии из нот )))

Почему я употребил именно это слово? Ну потому что иногда (хотя и довольно редко) оно встречается в литературе по программированию. Так что теперь вы будете знать, что имеют ввиду авторы таких книг. Хотя лично я это слово не применяю. Для меня есть просто выражения - простые и сложные.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.