zoukankan      html  css  js  c++  java
  • 初识python:高阶函数(附-高阶函数)

    定义:

      变量可以指向函数,函数的参数能接收变量,那么,一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数。

      简单说就是:把函数当作参数传递的函数就是高阶函数

    特性
      1、把一个函数名当作实参传递给另一个函数,在不修改被装饰函数源代码的情况下为其添加功能
      2、返回值中包含函数名,不改变函数调用方式

    实例1:

    # abs 内置取绝对值函数
    def add(a,b,f):
        return f(a) + f(b) #a的绝对值+b的绝对值
    print(add(1,-2,abs)) # 取3,-6的绝对值之和

    返回值:3

    实例2,在不修改被装饰函数源代码的情况下为其添加功能:

    #在不修改被装饰函数源代码的情况下为其添加功能
    import time
    def bar():
        time.sleep(2)
        print('第一个函数')
    
    def test1(func):
        start_time=time.time() #开始时间
        func() #调用bar函数
        stop_time=time.time() #结束时间
        print('函数运行时间:',stop_time-start_time)
    test1(bar)

    实例3,不改变函数调用方式:

    # 不改变函数调用方式
    import time
    def bar():
        time.sleep(2)
        print('第一个函数')
    def test2(func):
        print(func)
        return func
    #test2(bar) #传递变量内存地址
    #test2(bar()) #传递变量值,不符合高阶函数规范
    bar=test2(bar)
    bar()

    嵌套函数:

      定义: 在一个函数中,再定义了另一个函数,就叫嵌套函数

    实例:

    # 嵌套函数
    def foo():
        print('嵌套函数1')
        def bar():
            print('嵌套函数2')
        bar()
    foo()
    世风之狡诈多端,到底忠厚人颠扑不破; 末俗以繁华相尚,终觉冷淡处趣味弥长。
  • 相关阅读:
    Flask web开发之路二
    Flask web开发之路一
    英文文本挖掘预处理总结
    TF-IDF概念
    MongoDB数据库去重
    Python把两个列表合成一个字典
    网络通信协议七之ARP工作过程及工作原理解析
    Python基础爬虫
    Red and Black 模板题 /// BFS oj22063
    Alice拜年 模板题 /// 最短路Dijk oj1344
  • 原文地址:https://www.cnblogs.com/simple-li/p/9741120.html
Copyright © 2011-2022 走看看