Это зависит от вашего определения "метода".
В некотором смысле, нет, классы не нужны для создания методов в Python, потому что в любом случае нет методов в Python. Есть только процедуры (которые по непонятной причине называются functions в Python). Вы можете создать процедуру где угодно. метод - это просто синтаксический сахар для процедуры, присвоенной атрибуту.
В другом смысле, да, классы необходимы для создания методов. Это в значительной степени следует из определения того, что представляет собой метод в Python: процедура застряла в классе __dict__
. (Тем не менее, обратите внимание, что это означает, что вам не обязательно находиться внутри класса определение для создания метода, вы можете создать процедуру где угодно и любым способом и потом вставить ее в класс.)
[Примечание: я немного упростил, когда речь идет о том, что именно метод, как они синтезируются, как они представлены и как вы можете создать свой собственный.]