Carregando...
Carregando...
A passagem de parâmetros em Python pode envolver objetos mutáveis ou imutáveis. No caso de objetos imutáveis, como inteiros, a função recebe uma cópia do valor, e qualquer modificação feita dentro da função não afeta o objeto original no contexto do programa chamador.
def modify(x):
x = x + 10
return x
a = 5
result = modify(a)
print(a)
print(result)
Com base nas informações fornecidas, assinale a alternativa que descreve o comportamento da função modify(x) ao receber um parâmetro imutável em Python.
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
A alternativa "A função modify(x) modifica o valor do parâmetro imutável apenas dentro de seu próprio contexto" está correta, pois quando uma função em Python recebe um parâmetro imutável, como um inteiro, ela trabalha com uma cópia do valor. Qualquer modificação feita dentro da função não afeta o valor original fora dela. No exemplo, o valor de a permanece 5 após a chamada da função, enquanto result é 15.
As demais alternativas estão incorretas:
A alternativa "A função modify(x) modifica permanentemente o valor do parâmetro imutável no programa chamador" está incorreta, pois mudanças em parâmetros imutáveis dentro da função não refletem no programa chamador. No exemplo, o valor de a permanece inalterado.
A alternativa "A função modify(x) não pode alterar o valor do parâmetro recebido, pois parâmetros são sempre constantes" está incorreta, pois a função pode alterar o valor do parâmetro no seu próprio contexto, mas isso não afeta o valor original no programa chamador. A função modify(x) retorna o valor alterado, mas não altera o valor de a.
A alternativa "A função modify(x) altera tanto o valor do parâmetro no seu contexto quanto no contexto do programa chamador" está incorreta, pois modificações em parâmetros imutáveis dentro da função não afetam o valor original fora da função. No exemplo, a permanece inalterado.
A alternativa "A função modify(x) pode mudar o tipo do parâmetro recebido de imutável para mutável" está incorreta, pois a natureza imutável do parâmetro não pode ser alterada apenas dentro do contexto da função.