Является ли разбивка методов класса по разным файлам хорошей практикой?

Является ли разбивка методов класса по разным файлам хорошей практикой?


Ответы (1 шт):

Автор решения: Amgarak

Не думаю что это хорошая практика, но сама идея мне показалась интересной ?

Внимание "фокус на питоне" 3, 2, 1...

class Root():
    def __init__(self):
        self.root = "Go-go-go"
        self.back = "ups"
        self.run = lambda: go(self)

    def set_new_function(self, func):
        setattr(self, func.__name__, func.__get__(self))
        
    def __call__(self, func):
        setattr(self, func.__name__, func.__get__(self))

def new_function(self):
    print(f"Моя новая функция + {self.back}")
    
def go(self):
    print(self.root)

root = Root()
root.run()
root.set_new_function(new_function)
print(dir(root))
root.new_function()

@root
def new_function_two(self):
    print(f"Функция добавленная через декоратор + {self.root}")
    
root.new_function_two()

И теперь методы без проблем можно раскидать по разным файлам ?

→ Ссылка