объявленный внутри класса, и класс, присовенный полю класса? Например:
class MyClass:
class MyInternalClass:
pass
link_to_a_class = SomeClass
Пишу метакласс, чтобы красивенько через instanceof раскрывать структуры вида
class Struct(metaclass=StructMeta):
x = list
y = MyClass
z = int
s = Struct()
s.x = []
s.z = 1.5 # AttributeError
Как насчёт y = Field(MyClass), как во всех приличных пакетах? Все проблемы отпадут
Если прям совсем хочется только так, я бы проверял на равенство названия класса и названия переменной. Правда, тогда нельзя будет объявить поле list типа list, но такой пользователь сам себе злобный буратно.
Обсуждают сегодня