Questão nº 34
Questão de Engenharia de Software, DevOps e Ciência de Dados · FCC MPEPE 2018 (nº 34)
Considere o fragmento de código Python abaixo.
```
class Cliente:
I
......
self.nome = nome
self.renda = renda
p1 = Cliente("Maria", 5678.98)
print(p1.nome)
print(p1.renda)
```
Para que o código seja compilado e executado corretamente, a lacuna I deverá ser preenchida com
- A`__init__(self, nome, renda):`
- B`function __init(self, nome, renda):`
- C`def __construct(self, nome, renda):`
- D`def __init__(self, nome, renda):` (alternativa correta)
- E`Cliente(self, nome, renda):`
Resposta comentada
Gabarito Alternativa D
Em Python, o construtor de uma classe é um método especial que é chamado automaticamente quando você cria um novo objeto (uma "instância") dessa classe. Ele serve para inicializar os atributos (características) do objeto.
- (A) Incorreta: Falta a palavra-chave
defpara definir o método. - (B) Incorreta: A palavra-chave correta para definir funções/métodos é
def, nãofunction, e o nome do construtor deve ser__init__(com dois underscores no final). - (C) Incorreta: O nome do método construtor em Python é
__init__, não__construct. Armadilha da banca: Esta é uma pegadinha para quem conhece outras linguagens de programação orientadas a objetos, onde o construtor pode ter nomes como__construct(ex: PHP). - (D) Correta: Esta é a sintaxe padrão e correta para definir o método construtor (
__init__) em uma classe Python, incluindoselfcomo o primeiro parâmetro e os demais parâmetros necessários para inicializar os atributos. - (E) Incorreta: Falta a palavra-chave
defe o nome do método construtor deve ser__init__, não o nome da classe.
Fonte: FCC MPEPE 2018 Analista Ministerial - Área Informática (Caderno Tipo 1). Reproduzida para fins de estudo.