Imagem de fundo

Dentro do contexto de metaclasses em Python, considere a...

Dentro do contexto de metaclasses em Python, considere a seguinte implementação:


class Meta(type):

def __new__(cls, name, bases, class_dict):

class_dict["attribute"] = 42

return super().__new__(cls, name, bases,

class_dict)


class MyClass(metaclass=Meta):

pass


Em relação ao código apresentado, é correto afirmar que


A

o código irá lançar uma exceção, pois metaclasses não podem modificar atributos.


B

MyClass.attribute retornará um erro, pois "attribute" não foi definido na classe.


C

ao instanciar obj = MyClass(), o valor de obj.attribute será 42.


D

a classe MyClass herda diretamente de Meta.


E

a classe Meta não pode ser usada como metaclass porque não herda da classe object.