Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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 cho twice. Nhiệm vụ của bạn là gọi echo() với đối số 3. Gán hàm thu được cho thrice.
  • Nhấn Submit để gọi twice()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'))
Chỉnh sửa và Chạy Mã