Pular para o conteúdo principal

Questão de TI - Ciência de Dados e Inteligência Artificial — Python (Conceitos Gerais e Códigos) — INSTITUTO AOCP 2023

TI - Ciência de Dados e Inteligência ArtificialPython (Conceitos Gerais e Códigos)
Código
qa542746
Banca
INSTITUTO AOCP
Órgão
CODEBA
Ano
2023
Cargo
Ana Por ( )

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

  1. Ao código irá lançar uma exceção, pois metaclasses não podem modificar atributos.
  2. BMyClass.attribute retornará um erro, pois "attribute" não foi definido na classe.
  3. Cao instanciar obj = MyClass(), o valor de obj.attribute será 42.
  4. Da classe MyClass herda diretamente de Meta.
  5. Ea classe Meta não pode ser usada como metaclass porque não herda da classe object.
Revelar gabarito e comentário

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

Link permanente: /questoes/qa542746