Как совместить парадигму Объектно-ориентированного программирования и Python в голове новичка?

от автора

Я всегда с благодарностью относился к учебным текстам по программированию наподобие ЭТОГО:

На мой взгляд, хороший учебный материал и там всё прекрасно объяснено про Объектно-орииентированное программирование. Даны все понятия, определения, в общем — бери и используй!

Но как часто бывает у новичков, на самом деле у меня была только иллюзия ясности. Когда же сталкиваешься с изучением Python на практике, понимаешь, насколько всё сложно. И сперва такого типа код может внушать даже ужас, ну или там, чувство бессилия, мысли «Я непроходимо тупой», и т.д. — у каждого по-своему:

def createSetsMultiClasses(wordIndexes,xLen, step):   nClasses = len(wordIndexes)   xTest10Classes01 = []   xTest10Classes = []   for wI in wordIndexes:     sample = (getSetFromIndexes(wI, xLen, step))     xTest10Classes.append(np.array(sample))     xTest10Classes01.append(tokenizer.sequences_to_matrix(sample))   xTest10Classes01 = np.array(xTest10Classes01)    return xTest10Classes01, xTest10Classes

И хорошо, если у тебя есть годы на обучение, и ты студент первого курса.

А если нет? И когда тебе нужно изучать сразу нейронные сети на Питон без глубокого опыта Питон? То есть фактически, когда нет базы программирования и времени на раскачку нет тоже, а хороших учителей много, но все они говорят разное.

Хуже того, учителя не всегда понимают, как объяснить базовые вещи. Для них это просто и естесственно. А ученик не всегда может сформулировать, чего он не понимает и как именно он не понимает.

Вот тут-то и требуется напрячь все силы и создать какой-то рабочий образ для осмысления пройденного.

Выставляю на суд сообщества 2 диаграммы, родившиеся в результате такого понимания. Не претендую на уникальность, истину и полноту охвата. Надеюсь, что данная работа пригодится новичкам для осмысления Python и парадигмы объектно-ориентированного программирования, что называется в бою.

Данная диаграмма иллюстрирует понятия ОБЪЕКТ, КЛАСС, МЕТОД, ФУНКЦИЯ в их взаимосвязи. Я так же попытался осмыслить понятие ПЕРЕМЕННАЯ и то, как она используется в разных парадигмах программирования — Объектно-ориентированной и Функциональной (Процедурной).

Здесь изображена «мозгодробительная», на мой взгляд, вещь: как объектно-ориентированная модель работает совместно с функциональным программированием. И как объекты в Питоне могут использоваться как элементы функций.

Всем удачи в учёбе и осмыслении действительности!

ссылка на оригинал статьи https://habr.com/ru/post/527960/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *