Python笔记-高阶函数

本文探讨了函数在编程中的多种用途,包括作为另一个函数的返回值、作为参数传递以及在函数内部定义新的函数。通过实例展示了如何在Python中实现这些功能,如`hanshu1`、`hanshu2`和`demo`函数的相互调用。同时,介绍了闭包的概念,解释了外部函数返回内部函数并调用的场景。
摘要由CSDN通过智能技术生成
"""
1.一个函数作为另一个函数的返回值
2.一个函数作为另一个函数的参数
3.函数内部在定义一个函数
"""
def hanshu1():
    print('我是函数1')
    return 'hello'
def hanshu2():
    print('我是函数2')
    return hanshu1
def demo():
    print('我是demo函数')
    return hanshu1()
a = demo()      #执行demo函数,并把demo函数执行的结果(返回值)赋值给a
print(a)
b = hanshu1()
print(b)
c = hanshu2()
print(c)
d = c()
print(d)

print('***********************************************************************')
def test1():
    print('我是test1,我被调用了')
    return 'test1'
def test2():
    print('我是test2,我被调用了')
    return test1()
x = test2()
print(x)
# y = test2()()
# print(y)

print('***********************************************************************')
def outer(x):
    m = 100     #局部变量,只能在函数内部使用
    print('我是outer函数')
    def inner():    #inner是定义在outer函数内部的一个函数
        n = 200
        print('我是inneer函数')
    if x > 18:
        inner()
    return inner
outer(12)
outer(20)
# outer()()

print('***********************************************************************')
#闭包函数
"""
函数的嵌套,外部函数要返回内部函数
"""

结果

我是demo函数
我是函数1
hello
我是函数1
hello
我是函数2
<function hanshu1 at 0x02B93DF8>
我是函数1
hello
***********************************************************************
我是test2,我被调用了
我是test1,我被调用了
test1
***********************************************************************
我是outer函数
我是outer函数
我是inneer函数
***********************************************************************

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值