Questão de Programação — Python — Quadrix 2025
- Código
- qg603283
- Banca
- Quadrix
- Órgão
- SEDF
- Ano
- 2025
- Nível
- Superior
- Cargo
- Professor de Educação Básica: Eletrônica
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: E — ERRADO. A afirmação está incorreta porque, em Python, uma variável declarada dentro de uma função possui escopo local, sendo acessível somente dentro daquele bloco — e não globalmente. O escopo global é reservado às variáveis declaradas fora de qualquer função ou bloco, conforme o conceito fundamental de escopo em linguagens de programação.
O escopo de uma variável define a região do programa onde ela pode ser acessada. Em Python, a regra é clara: variáveis criadas dentro de uma função são locais e existem apenas durante a execução daquela função. Após o término da função, essas variáveis são destruídas e não podem ser referenciadas de fora. Por outro lado, variáveis criadas no nível principal do programa (fora de funções) têm escopo global e podem ser acessadas de qualquer parte do código, inclusive dentro de funções.
Essa distinção é essencial para evitar conflitos de nomes e manter o código modular e organizado. Por exemplo, considere o seguinte código:
def minha_funcao():
x = 10 # variável local
print(x) # funciona: x é acessível aqui
minha_funcao() # imprime 10
print(x) # ERRO: NameError, x não existe fora da funçãoA variável x declarada dentro de minha_funcao é local e não pode ser acessada fora dela. Para que uma variável seja global, ela deve ser declarada fora de qualquer função:
y = 20 # variável global
def outra_funcao():
print(y) # funciona: y é acessível aqui
outra_funcao() # imprime 20
print(y) # imprime 20A pegadinha da banca está em inverter o conceito: ela afirma que uma variável declarada dentro de uma função será global por padrão, quando na verdade o padrão é exatamente o oposto — ela será local. Essa confusão é comum entre candidatos que não dominam a diferença entre escopo local e global em Python.
É importante notar que, embora exista a palavra-chave global em Python para modificar uma variável global dentro de uma função, isso é uma exceção explícita e não o comportamento padrão. Sem a declaração global, qualquer atribuição dentro de uma função cria uma variável local, mesmo que exista uma variável global com o mesmo nome.
Guarde a fronteira entre escopo local e global: é exatamente nela que esta questão se decide. A variável declarada dentro de função é local; a declarada fora é global.
A afirmação está incorreta porque inverte o conceito de escopo em Python. Uma variável declarada dentro de uma função tem escopo local, não global. Ela só pode ser acessada dentro da própria função, e é destruída quando a função termina. Para que uma variável seja global, ela deve ser declarada fora de qualquer função ou bloco. A banca explora exatamente essa inversão: apresenta o comportamento local como se fosse o global.
Para fixar, lembre-se da regra prática: dentro da função = local; fora da função = global. Se a questão mencionar a palavra global dentro de uma função, ela está se referindo à declaração explícita que permite modificar uma variável global — mas isso é exceção, não o padrão. Na prova, desconfie de afirmações que digam que variáveis locais são acessíveis globalmente: isso é sempre falso em Python.
Gabarito: E — ERRADO.
Link permanente: /questoes/qg603283