python函数嵌套定义

python的这个特性是很特别的,与C#和C++都不一样。请看下面的例子

def outFun():   
    def innerFun_0():#1.在内部定义一个函数
        print("i am first innerFun")
        return    
    
    def innerFun_1():#2.在内部定义另外一个函数
        print("i am second innerFun")
        return      
    
    innerFun_0()   #3.使用innerFun_0
    innerFun_1()   #4.使用innerFun_2
    
    return

outFun()#5.调用outFun函数
    

执行结果:

i am first innerFun
i am second innerFun

在outFun这个函数内部,定义了innerFun_0和innerFun_1,随后也使用了这两个函数。

其实完全可以吧这两个函数写在outFun的外面,如下,执行结果一样。

def innerFun_0():
    print("i am first innerFun")
    return    

def innerFun_1():
    print("i am second innerFun")
    return    

def outFun():   
    innerFun_0()  
    innerFun_1()   
    return

outFun()#调用outFun函数

那么,问题来了,为啥python要搞这种方式呢,可能就是为了说明劳资怎么玩都可以,就是灵活

原文地址:https://www.cnblogs.com/hosseini/p/7814941.html