⊗pyPmFnFIF 20 of 129 menu

Função dentro de função em Python

Em Python, é possível declarar outras funções dentro de uma função. Suponha que temos uma função externa outer, dentro da qual existe uma função inner:

def outer(): def inner(): pass

O exemplo acima parece bastante simples. No entanto, muitas vezes há situações em que, no corpo da função outer, além da inner, outras operações também são executadas. Para simplificar o código, seria possível mover a inner para fora do bloco, mas essa função será usada apenas uma vez e apenas dentro da função outer. Portanto, não faz sentido movê-la para fora.

Vamos considerar um exemplo em que uma lista é passada para a função outer. E com a ajuda da função inner, o elemento numérico da lista será elevado ao quadrado. Para isso, após a função inner, declaramos uma lista vazia res, na qual os elementos elevados ao quadrado serão acumulados em um loop:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

Vamos chamar a função outer, passar uma lista como parâmetro e exibir o resultado no console:

print(outer([2, 3, 5])) # exibirá [4, 9, 25]

Escreva uma função externa e uma função interna, cujo trabalho conjunto exibirá cada elemento de string da lista com a primeira letra maiúscula.

Dadas as funções:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

Reescreva o código de modo que func1 seja uma função interna de func2.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar