博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 函数的嵌套定义 and 函数的返回值是函数
阅读量:4171 次
发布时间:2019-05-26

本文共 870 字,大约阅读时间需要 2 分钟。

python允许在定义函数的时候,其函数体内又包含另外一个函数的完整定义,这就是我们通常所说的嵌套定义。
为什么?因为
函数是用def语句定义的,凡是其他语句可以出现的地方,def语句同样可以出现
像这样定义在其他函数内的函数叫做内部函数,内部函数所在的函数叫做外部函数。当然,我们可以多层嵌套,
这样的话,除了最外层和最内层的函数之外,其它函数既是外部函数又是内部函数。

实例1:

def foo():         #定义函数foo    m=3            #在foo函数内定义变量m=3    def bar():     #在foo函数内定义函数bar        n=4        #在bar函数内定义局部变量n=4        print m+n      bar()         #在foo函数内调用bar函数    print mfoo()    #调用foo函数
结果:
7
3

实例2:

spam = 99     #定义全局变量spamdef tester():    def nested():        global spam        print 'spam=',spam  #打印全局变量的值        spam += 1           #修改全局变量的值    return nested           #tester函数的返回值是nested函数t=tester()    #调用函数tester,将得到的返回值赋给tprint type(t) #返回值t的类型是functionprint t       #打印返回值的信息tester()()    #调用函数tester,得到的返回值是nested函数对象,最后调用函数nestedprint 'spam=',spam    #打印修改后的全局变量的值
结果:
<type 'function'>
<function nested at 0x02937CF0>
spam= 99
spam= 100

转载地址:http://jjyai.baihongyu.com/

你可能感兴趣的文章
Python 迭代器(iterator)
查看>>
Python enumerate类
查看>>
leetcode 99 Recover Binary Search Tree (python)
查看>>
linux echo 向文件中追加信息
查看>>
区块链问与答
查看>>
css常用小知识点
查看>>
js常用小知识点
查看>>
Java常用小知识点
查看>>
Java小知识点之lambda
查看>>
开源Java诊断工具Arthas简单使用说明
查看>>
深入理解Mysql索引底层数据结构与算法(二)
查看>>
IDEA自动去掉无用的import
查看>>
js数字转换成汉字
查看>>
MySQL不同存储引擎底层真正存储结构
查看>>
MySQL存储引擎底层常见面试题
查看>>
MySQL Explain执行计划详解
查看>>
索引最佳实践具体实例
查看>>
临时关闭MySQL缓存
查看>>
HBase学习和使用
查看>>
LSTM
查看>>