栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python高阶函数(一)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python高阶函数(一)

函数名是一个变量
import time
import datetime

def now():
    print('现在的时间是:%s'%datetime.datetime.now())

now()函数输出当前时间,函数名叫now,实际上now是一个指向函数的变量。

调用函数:

由于now是一个变量,那么我可以让这个变量指向其他的对象。

现在,再次调用now()就会出错,因为now是一个变量,现在指向了一个整数对象,不在指向函数了。

所以函数就是一个变量,可以让他指向其他的任何对象。

既然函数名now是一个变量,指向一个函数,可不可以把now赋值给其他变量,让其他变量也指向这个函数呢?比如像这样:

当然是可以的:
把now赋值给变量f,f也指向了now指向的那个函数对象,所以f就是一个指向函数的变量,使用f()一样是在调用函数

函数参数传入 函数变量

定义一个函数,函数可以接受参数,参数可以在函数内部使用:

#time变量,存储了日期
time = datetime.datetime.now().strftime('%Y-%m-%d')
def now(time):
    print(time)
    
#参数传递到函数中
now(time)


既然函数名也是一个变量,能不能把函数名这个变量也传入到另一个函数中呢?当然可以。

#f()函数返回的是一个数的平方
def f(x):
    return x**2
#这个函数接受两个参数,同时接受一个函数作为参数,使用这个函数计算x,y的平方和
def multi(x,y,func):
    return func(x) + func(y)


multi(x,y,func)------>multi(2,3,f) func是一个变量,f是一个指向函数的变量,
func = f,则func也指向了f指向的那个函数,所以func(x) + func(y)计算了两个数的平方和。

小结:

编写高阶函数,就是让函数的参数能够接收别的函数。

把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。

参考:
廖雪峰

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997918.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号