Вау, код в твоем последнем редактировании потрясающий. Спасибо!

я есть класс, который имеет несколько методов, каждый из которых имеет определенные свойства (в смысле качества). Мне бы хотелось, чтобы эти методы были доступны в списке внутри класса, чтобы они могли выполняться сразу. Обратите внимание, что свойства могут быть взаимозаменяемыми, поэтому это не может быть решено с помощью дополнительных классов, которые наследуются от исходного. В идеальном мире это будет выглядеть примерно так:

class MyClass:
    def __init__():
        red_rules = set()
        blue_rules = set()
        hard_rules = set()
        soft_rules = set()

    @red
    def rule_one(self):
        return 1

    @blue
    @hard
    def rule_two(self):
        return 2

    @hard
    def rule_three(self):
        return 3

    @blue
    @soft
    def rule_four(self):
        return 4

Когда создается экземпляр класса, должно быть легко выполнить все красные и мягкие правила, комбинируя наборы и выполняя методы. Декораторы для этого сложны, поскольку обычный регистратор может заполнить глобальный объект, но не атрибут class:

def red(fn):
    red_rules.add(fn)
    return fn

Как мне реализовать что-то подобное?

Ответы на вопрос(1)

Ваш ответ на вопрос