第89课时: 嵌套函数 (内部函数) 数据隐藏
嵌套函数(内部函数)::
定义 :在函数内部定义的函数。出了函数的范围调用不了
操作:嵌套函数的定义和内部的调用:
def f1():
print('f1 running...')
def f2():
print("f2 running...")
f2()
f1()
f1 running…
f2 running…
在f1外调用f2,出错
def f1():
print('f1 running...')
def f2():
print("f2 running...")
f2()
f1()
f2()
会报错。
一般什么情况用嵌套函数:
1;封装,数据隐藏。
外部无法访问隐藏函数。
2 在函数内部降低重复代码。
3 闭包
打印名字:
输入中文名和英文名的函数:
def printChineseName(name,familyName):
print(“{0} {1}”.format(familyName,name))
def printEnglishName(name,familyName):
print(“{0} {1}”.format(name,familyName))
采用嵌套函数(减少重复语句):
def printname(isChinese,name,familyName):
def inner_print(a,b):
print('{0} {1}'.format(a,b))
if isChinese:
inner_print(familyName,name)
else:
inner_print(name,familyName)
printname(1,'立宗',"王")
printname(0,'lz',"w")
王 立宗
lz w