Как стать автором
Поиск
Написать публикацию
Обновить

Что можно рассказать о функциях Python на примере кофемашины?

Время на прочтение7 мин
Количество просмотров6.8K
Всего голосов 14: ↑12 и ↓2+16
Комментарии13

Комментарии 13

Агонь! Забрал себе и буду ссылаться на уважаемого автора)

я обойдусь без избитых шуток вроде «программист – это человек, преобразующий кофеин в код»

такой программист долго не протянет. Психостимуляторы типа кофеина могут показаться хорошей идеей пока у вас не возникнут проблемы со здоровьем из-за этого

Да круто объяснил, неплохая памятка

Если это памятка для школьников то ничего так, нормально.

Если это памятка для проженных гуманитариев, вроде тоже хорошо.

Если это памятка для инженеров, которые как бы должны были уже получить высшее техническое образование то не знаю что и сказать. Наверно как-то глупавато, что ли.

НЛО прилетело и опубликовало эту надпись здесь

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

Отлично описано, простые аналогии для начинающих!

Пара поправок в английских терминах:

  • tap_water - это проточная вода

  • sparkling_water - это газированная вода

Странная логика. Ведётся обсуждение, что имя метода надо называть make_coffee, а не coffee_machine. И не объясняется, почему. Просто потому что "так принято".

Тем временем, пайтон - вполне себе объектно-ориентированный язык.

Вот смотрите: моя кофемашина не требует подачи электричества, воды и кофе на каждый вызов "делайкофе". Я один раз включаю в розетку, один раз с утра заливаю воду, один раз засыпаю кофе. Потом хожу, нажимаю кнопку - только успевай чашку подставлять.

Можно же было сделать класс coffee_machine, передать ему кофе и воду и воткнуть в розетку? А make_coffee будет уже без аргуменов. Тогда почему наименование класса - это существительное, а имя метода - глагол становится понятнее, правда?

Ещё можно кидаться эксепшенами, если запас кофе или воды в машинке закончился, но это уже другая история.

p.s. sparkling water - это газированная вода, а не проточная.

Есть мнение, что класс с конструктором и одним методом нужно заменять функцией. Для меня здесь и функция и класс подходят.

Совершенно верно - Кофемашина - это класс. Объект этого класса - конкретная кофемашина марки Тубзик, мощность 1 кВт и емкостью 1 литр воды.

У объекта класса Кофемашина есть функция "приготовить кофе".

Такая же функция есть у объекта КофейныйАвтомат, который, как и Кофемашина, унаследовал ее от абстрактного класса КофеПриготовитель, имеющего емкость для воды, нагреватель и устройство для пропуска воды через кофе, а он уже наследовал, вместе с ЭлектроЧайником, свойство нагревать воду от объекта ВодоНагреватель.

Электричество похоже не на аргумент функции, а на требование к аппаратному обеспечению.

Это как соединение с базой данных.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий