码迷,mamicode.com
首页 > 编程语言 > 详细

python嵌套函数

时间:2014-08-13 03:52:26      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:python

1、嵌套函数定义

在python中有一种特殊函数,这种函数定义在函数的内部,像这样定义在其他函数内的函数叫做内部函数,内部函数所在的函数叫做外部函数。我们还可以定义多层嵌套函数,即内部函数定义一个内部函数。内部函数定义很简单,同样使用def定义,只是定义在一个函数的内部,举个例子:

>>> var=90
>>> def test():
def nest():
global var
print(var)
var+=1
return nest


>>> test()()
90


这里要注意执行时是test()(),而不是test().nest(),这是因为test()返回了一个nest,然后执行nest()。

2、讨论嵌套函数的作用域

内部函数可以使用外部函数定义的变量,例如:

def f():
def f1():
x=3
print ("目前在函数f1()中:x=", x)
def f2():
print ("目前在函数f2()中:x=", x)
return f2
return f1

>>> f()()()

目前在函数f1()中:x= 3

目前在函数f2()中:x= 3

>>> def f():

def f1():

x=3

print ("目前在函数f1()中:x=", x)

def f2():

x+=5

print ("目前在函数f2()中:x=", x)

return f2

return f1


>>> f()()()

目前在函数f1()中:x= 3

Traceback (most recent call last):

  File "<pyshell#47>", line 1, in <module>

    f()()()

  File "<pyshell#46>", line 6, in f2

    x+=5

UnboundLocalError: local variable ‘x‘ referenced before assignment



python嵌套函数,布布扣,bubuko.com

python嵌套函数

标签:python

原文地址:http://ypyu1989.blog.51cto.com/6786671/1539094

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!