LEGB RULE


# scope variable / function block of code 影響範圍

def greet():
    name = "Albert"

    def hello():
        print("Hello, my name is" + name)

    def hello2():
        print("greeting from hello2.")

    hello()
    hello2()  # hello/hello2 function 只能在greet function 中執行

greet()
hello() # hello function 在外層是無法執行會show NameError: name 'hello' is not defined

-------------------------------------------------------
Hello, my name is Albert
greeting from hello2.

NameError: name 'hello' is not defined # hello function 在外層是無法執行會show NameError: name 'hello' is not defined