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要搞这种方式呢,可能就是为了说明劳资怎么玩都可以,就是灵活