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

Từ khóa nonlocal và hàm lồng nhau

Hãy tiếp tục rèn luyện kỹ năng về phạm vi biến! Trong bài này, bạn sẽ dùng từ khóa nonlocal bên trong một hàm lồng nhau để thay đổi giá trị của biến được định nghĩa ở phạm vi bao ngoài.

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

  • Gán cho echo_word chuỗi word được nối với chính nó.
  • Dùng từ khóa nonlocal để thay đổi giá trị của echo_word ở phạm vi bao ngoài.
  • Thay đổi echo_word thành echo_word được nối với '!!!'.
  • Gọi hàm echo_shout() với một đối số duy nhất 'hello'.

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_shout()
def echo_shout(word):
    """Change the value of a nonlocal variable"""
    
    # Concatenate word with itself: echo_word
    ____
    
    # Print echo_word
    print(echo_word)
    
    # Define inner function shout()
    def shout():
        """Alter a variable in the enclosing scope"""    
        # Use echo_word in nonlocal scope
        ____
        
        # Change echo_word to echo_word concatenated with '!!!'
        echo_word = ____
    
    # Call function shout()
    shout()
    
    # Print echo_word
    print(echo_word)

# Call function echo_shout() with argument 'hello'
____
Chỉnh sửa và Chạy Mã