Я всегда с благодарностью относился к учебным текстам по программированию наподобие ЭТОГО:
На мой взгляд, хороший учебный материал и там всё прекрасно объяснено про Объектно-орииентированное программирование. Даны все понятия, определения, в общем - бери и используй!
Но как часто бывает у новичков, на самом деле у меня была только иллюзия ясности. Когда же сталкиваешься с изучением 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 и парадигмы объектно-ориентированного программирования, что называется в бою.
Данная диаграмма иллюстрирует понятия ОБЪЕКТ, КЛАСС, МЕТОД, ФУНКЦИЯ в их взаимосвязи. Я так же попытался осмыслить понятие ПЕРЕМЕННАЯ и то, как она используется в разных парадигмах программирования - Объектно-ориентированной и Функциональной (Процедурной).
Здесь изображена "мозгодробительная", на мой взгляд, вещь: как объектно-ориентированная модель работает совместно с функциональным программированием. И как объекты в Питоне могут использоваться как элементы функций.
Всем удачи в учёбе и осмыслении действительности!
fireSparrow
Процедурная парадигма и функциональная парадигма — это две совершенно разные вещи.