Professor de Ensino Fundamental e Médio (Educação Profissional) - Eixo 5 - Informação e Comunicação
No contexto do Python, analise o script a seguir....p1 = Person("John", 36)print(p1.nome)print(p1.cidade)Assinale a correta definição da classe Pessoa que completa o script.
Aclass Pessoa:def init(self, nome, cidade):self.nome = nomeself.cidade = cidade
Bclass Pessoa:new (self, nome, cidade):.nome = nome.cidade = cidade
Cclass Pessoa (nome, cidade):self.nome = nomeself.cidade = cidade
GabaritoA — class Pessoa:
def __init__(self, nome, cidade):
self.nome = nome
self.cidade = cidade
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Python – Definição de classe e método construtor
Gabarito: letra A. A classe Pessoa deve ser definida com o método especial __init__, que é o construtor da classe. No Python, o construtor recebe self como primeiro parâmetro (referência ao próprio objeto) e os demais parâmetros necessários para inicializar os atributos. Dentro do método, os atributos são criados com self.atributo = valor. A alternativa A segue exatamente essa sintaxe:
class Pessoa:
def __init__(self, nome, cidade):
self.nome = nome
self.cidade = cidade
Ao instanciar p1 = Pessoa("John", 36), o Python chama automaticamente __init__, atribuindo "John" a self.nome e 36 a self.cidade. Isso permite que print(p1.nome) e print(p1.cidade) funcionem.
Alternativa A — ✅ Correta ⟵ GABARITO
class Pessoa:
def __init__(self, nome, cidade):
self.nome = nome
self.cidade = cidade
Sintaxe perfeitamente correta. O método __init__ é definido com self e os parâmetros nome e cidade. As atribuições usam self.nome = nome e self.cidade = cidade, criando os atributos na instância. Tudo em conformidade com a documentação oficial do Python.
Alternativa B — ❌ Incorreta
class Pessoa:
new (self, nome, cidade):
.nome = nome
.cidade = cidade
Erro: o método construtor do Python é __init__ (com dois underlines), não new. Além disso, a atribuição .nome = nome está incorreta — faltou o self. antes do ponto. A notação correta é self.nome = nome.
Alternativa C — ❌ Incorreta
class Pessoa (nome, cidade):
self.nome = nome
self.cidade = cidade
Erro: os parâmetros não devem vir após o nome da classe. A definição de classe é class Nome: (dois pontos) e os parâmetros vão no construtor __init__. Além disso, as instruções self.nome = nome estão soltas no corpo da classe, sem estarem dentro de um método — isso não é permitido.
Alternativa D — ❌ Incorreta
class Pessoa
init (nome, cidade)
Erro: falta o : após class Pessoa. O método init não é o nome correto; deve ser __init__ com dois underlines. Também falta self como primeiro parâmetro e a palavra-chave def para definir o método. Não há atribuição alguma.
Erro: parâmetros não são permitidos na definição da classe. def self é inválido — o método deve ter um nome como __init__ e self é o primeiro parâmetro, não um nome de método. As atribuições usam p1 e p2 que não correspondem aos parâmetros do construtor esperados.
PEGA ESSA DICA!
No Python, para definir uma classe com atributos iniciais, lembre-se sempre do padrão:
class NomeDaClasse:
def __init__(self, parametro1, parametro2):
self.atributo1 = parametro1
self.atributo2 = parametro2
O self é obrigatório e representa a instância. Os atributos criados com self.atributo ficam disponíveis para o objeto.