Funcții imbricate II
Excelent! Tocmai ai imbricat o funcție în interiorul alteia. Un alt motiv interesant pentru a imbrica funcții este conceptul de closure. Acesta înseamnă că funcția imbricată (sau internă) reține starea domeniului de aplicare al funcției exterioare în momentul apelului. Prin urmare, tot ce este definit local în domeniul exterior rămâne accesibil funcției interne chiar și după ce funcția exterioară a terminat execuția.
Să continuăm! În acest exercițiu, vei completa definiția funcției interne inner_echo() și apoi vei apela echo() de câteva ori, de fiecare dată cu un argument diferit. Completează exercițiul și observă ce rezultate vei obține!
Acest exercițiu face parte din cursul
Introducere în funcții în Python
Instrucțiuni pentru exercițiu
- Completează antetul funcției interne cu numele
inner_echo()și un singur parametruword1. - Completează funcția
echo()astfel încât să returnezeinner_echo. - Am apelat deja
echo()cu argumentul 2 și am atribuit funcția rezultată variabileitwice. Sarcina ta este să apeleziecho()cu argumentul 3. Atribuie funcția rezultată variabileithrice. - Apasă Trimite răspunsul pentru a apela
twice()șithrice()și a afișa rezultatele.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Define echo
def echo(n):
"""Return the inner_echo function."""
# Define inner_echo
def ____(____):
"""Concatenate n copies of word1."""
echo_word = word1 * n
return echo_word
# Return inner_echo
# Call echo: twice
twice = echo(2)
# Call echo: thrice
# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))