Analise o trecho de código a seguir. def f(n): return n*2 Assinale a linguagem de programação de uso geral que adota a sintaxe acima.
- A)C#.
Errada: C# não usa `def` nem identação obrigatória para blocos, e costuma empregar outra sintaxe para declarar funções.
- B)JavaScript.
Errada: JavaScript tem sintaxe diferente para funções, geralmente com `function` ou arrow functions, e não com `def`.
- C)PHP.
Errada: PHP não adota essa forma de definição de função com `def` e identação como elemento sintático central.
- D)Python.
Certa: Python usa `def`, dois-pontos e bloco identado para definir funções, exatamente como no trecho.
- E)Visual Basic.
Errada: Visual Basic tem sintaxe própria, bem distinta, sem esse formato de `def` e recuo de bloco característico do Python.
Gabarito: D
A questão pede a linguagem que usa a sintaxe de uma função definida com `def`, parâmetros entre parênteses e bloco indentado. Isso é a cara do Python: a identação tem papel sintático, então o espaçamento não é enfeite, é parte da gramática da linguagem. No exemplo, `def f(n):` cria a função `f` e `return n*2` devolve o dobro do valor recebido. Simples, direto e bem no estilo Python de escrever código legível. Por isso o gabarito é a letra D. Em outras linguagens, como C# ou JavaScript, a definição de função usa outras palavras-chave e outra estrutura, normalmente com chaves, ponto e vírgula ou formatos diferentes. Já no Python, a combinação de `def`, dois-pontos e recuo do bloco é praticamente uma assinatura da linguagem. Em prova de concurso, vale decorar esse padrão visual. A banca adora mostrar um trecho curtinho e testar se voce reconhece a linguagem pelo jeito de escrever, não pela lógica do código em si. Aqui, o que denuncia a resposta é a sintaxe, não a operação matemática de dobrar um número.