本文共 750 字,大约阅读时间需要 2 分钟。
嵌套函数,顾名思义,就是函数内还有函数
|
结果:
func1
为什么函数func2没有被执行?
任意一个函数定义完成之后,如果没有人通过名字调用它,就永远不会执行
那如何调用func2?
def
func1():
(
'func1'
)
def
func2():
(
'func2'
)
func2()
func1()
结果:
func1func2
回顾全局变量和局部变量:
age
=
18
#曾祖父
def
func1():
#爷爷
age
=
20
(age)
def
func2():
#爸爸
age
=
25
(age)
def
func3():
#儿子
(age)
func3()
func2()
func1()
结果:
202525
函数引用变量的时候是从该函数内部一层一层的向外找
还有一点值得注意的是,要遵循代码的执行顺序,想要被调用的变量不能在被执行函数的下面
age
=
18
def
func1():
def
func2():
(age)
age
=
20
#放在下面,其实都是放在func2的上面
func2()
func1()
#错误:
def
func1():
def
func2():
(age)
func2()
age
=
20
#不能放在引用该变量的函数下
func1()
结果:
#正确:20#错误:NameError: free variable 'age' referenced before assignment in enclosing scope
转载地址:http://xblof.baihongyu.com/