Hàm lồng nhau II
Làm tốt lắm, bạn vừa lồng một hàm bên trong một hàm khác. Một lý do thú vị khác để lồng hàm là khái niệm closure. Điều này có nghĩa là hàm lồng (hàm bên trong) sẽ ghi nhớ trạng thái của phạm vi bao quanh nó khi được gọi. Vì vậy, mọi thứ được định nghĩa cục bộ trong phạm vi bao quanh đều khả dụng với hàm bên trong ngay cả khi hàm bên ngoài đã kết thúc thực thi.
Tiếp tục nhé! Trong bài này, bạn sẽ hoàn thiện định nghĩa của hàm bên trong inner_echo() và sau đó gọi echo() vài lần, mỗi lần với một đối số khác nhau. Hoàn thành bài tập và xem đầu ra sẽ là gì!
Bài tập này là một phần của khóa học
Giới thiệu về Functions trong Python
Hướng dẫn bài tập
- Hoàn thiện phần đầu hàm của hàm bên trong với tên hàm
inner_echo()và một tham sốword1. - Hoàn thiện hàm
echo()để hàm này trả vềinner_echo. - Chúng tôi đã gọi
echo()với đối số 2 và gán hàm thu được chotwice. Nhiệm vụ của bạn là gọiecho()với đối số 3. Gán hàm thu được chothrice. - Nhấn Submit để gọi
twice()vàthrice()và in kết quả.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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'))