嵌套函数

在函数内部定义的函数!

1 def outer():
2     print("outRunning....")
3 
4     def inner():
5         print("inRunning...")
6 
7     inner()
8 outer()

 

 

使用嵌套函数的情况

  1. 封装--数据隐藏: 外部无法访问内部函数
  2. 贯彻DRY(Don't Repeat Yourself)原则: 嵌套函数,可以避免重复代码
  3. 闭包

Practice:使用嵌套函数避免重复dlma

 1 def printName(isChinese,name,familyName):
 2     def inner(a,b):
 3         print('{0}{1}'.format(name,familyName))
 4 
 5     if isChinese:
 6         inner(familyName,name)
 7     else:
 8         inner(name,familyName)
 9 
10 printName(True,'','')
11 printName(False,'Ivanka','Trump')