← Questões de Programação

Programação · FGV · 2022

Questão comentada de Programação

Analise o código Python a seguir. class ClasseX: a = 10 ...... Para que esse código exiba o número 20, o trecho pontilhado deve ser substituído por:

Gabarito: C

Em Python, uma classe pode ter atributos de classe, como esse a = 10, que pertencem à própria classe e podem ser acessados por uma instância. Para usar o valor com a sintaxe de objeto, normalmente voce primeiro cria o objeto com ClasseX() e depois acessa X.a. Isso faz o programa enxergar 10 e multiplicar por 2, chegando em 20. O ponto central aqui é que class ClasseX: a = 10 define um atributo compartilhado, não uma variável solta no código. Sem instanciar, voce até pode acessar o atributo pela classe, mas a alternativa precisa bater com o trecho pedido e com a escrita correta do Python. Por isso, o gabarito é a letra C: X = ClasseX() cria uma instância de ClasseX e print(X.a * 2) lê o atributo a dessa instância, que resolve para o valor 10. Ao multiplicar por 2, a saída é 20. As outras opções erram por nome inválido, sintaxe inexistente ou por usar uma forma que não existe em Python. Em prova, a banca gosta muito de misturar criação de objeto com acesso a atributo, então vale guardar a sequência: classe -> instância -> atributo.

Continue treinando

Questões relacionadas