• 在函数中定义函数

    在函数中定义函数

    刚才那些就是函数的基本知识了。我们来让你的知识更进一步。在Python中我们可以在一个函数中定义另一个函数:

    1. def hi(name="yasoob"):
    2. print("now you are inside the hi() function")
    3. def greet():
    4. return "now you are in the greet() function"
    5. def welcome():
    6. return "now you are in the welcome() function"
    7. print(greet())
    8. print(welcome())
    9. print("now you are back in the hi() function")
    10. hi()
    11. #output:now you are inside the hi() function
    12. # now you are in the greet() function
    13. # now you are in the welcome() function
    14. # now you are back in the hi() function
    15. # 上面展示了无论何时你调用hi(), greet()和welcome()将会同时被调用。
    16. # 然后greet()和welcome()函数在hi()函数之外是不能访问的,比如:
    17. greet()
    18. #outputs: NameError: name 'greet' is not defined

    那现在我们知道了可以在函数中定义另外的函数。也就是说:我们可以创建嵌套的函数。现在你需要再多学一点,就是函数也能返回函数。