@bituke

Чем классы отличаются от функций в python?

Изучаю питон, и многие курсы и книги часто ориентируются на изучение классов в этом языке.
Я посмотрел что делают классы, и у меня появился вопрос: а чем собственно классы отличаются от обычных функций в питоне? Вроде бы так же как и функция имеет под собой какой-то блог кода, который при вызове таким же образом выполняется. В чем тогда суть классов и что нельзя сделать с функциями, что можно с классами?
  • Вопрос задан
  • 223 просмотра
Решения вопроса 3
@kisaa
Это вам надо основы объектно-ориентированного программирования (ООП) почитать (вообще, и применительно к Питону - в частности):
https://it-black.ru/osnovy-oop/
https://proglib.io/p/python-oop/
https://python-scripts.com/object-oriented-program...
Ответ написан
@Popou
В плане питона , ни чем. Однако в ООП очень важно знать классы , ибо по ним создаются объекты которые работают с теми или иными переменными.
Допусим класс cat, он хранит себе данные вес объем и цвет , и куда удобнее их хранить в одном объекте, особенно когда их много. Так ты просто создашь лист cat где у каждого объекта свои данные. И в классе cat находиться функция getName котором возвращает породу взависимости от данных в самом классе , и аргументы передавать не надо , и изящно.
А теперь представим функцию getCatName, первое не удобство, тебе придется передавать аргументы все 3 параметра. Второе же , эти параметры ты должен где то хранить , ладно если был только один объект cat , а представь что их тысяча, и тебе придется хранить их либо в двойном листе , либо 3 отдельных листа, что делает код уже трудно читаемым
Ответ написан
@bituke Автор вопроса
Если коротко - различие в идеологии и подходе обработки данных.

Класс, в некотором роде - можно считать самостоятельным типом. Экземпляры класса, можно настроить так, чтобы вы могли складывать / умножать / делить / ... .

+ ООП, позволяет сократить объем и увеличить понятность кода (при его адекватном использовании).

Например, вы не можете записать в функцию данные и использовать вызов функции без аргументов ( на самом деле можно реализовать, но вы быстро откажетесь от этой идеи).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MonAkka
@MonAkka
Born in IT
Плохо посмотрели, если не понимаете.
Я посмотрел что делают классы
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
deeplay Новосибирск
от 130 000 ₽
от 130 000 ₽
Enjoy PRO Санкт-Петербург
от 140 000 до 180 000 ₽