Чем классы отличаются от функций в python?
Это вам надо основы объектно-ориентированного программирования (ООП) почитать (вообще, и применительно к Питону - в частности):
https://it-black.ru/osnovy-oop/
https://proglib.io/p/python-oop/
https://python-scripts.com/object-oriented-program...
Если коротко - различие в идеологии и подходе обработки данных.

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

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

Например, вы не можете записать в функцию данные и использовать вызов функции без аргументов ( на самом деле можно реализовать, но вы быстро откажетесь от этой идеи).