下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >编程语言 >python中functools宝库下的partial

python中functools宝库下的partial

希尔瓦娜斯发布于 2018-05-03 09:01查看:1019

看起来好久没更新,再不更新估计手都生锈了。随便写点什么。看看日历,也算是新年第一篇。

说说Python中的一个宝库functools中的一个函数——partial。

partial ,单词的意思是“局部的,部分的”。单看这个词可能有些模糊,但是加上前面的functools,会不会有些明白?那个穿白衣服的同学,你来回答。你说不知道?

先来看下functools的定义:

image.png

中文大意是:

image.png

Note

在python中都有那些东西可以被当做函数来调用呢?

有了上面的定义,应该大体知道, partial 这个东西是针对函数起作用的,并且是部分的,函数中哪些东西可以拆成部分呢?那个白衣服的同学。【小白:类似于装饰器吗。博主:你出去。】

好了,咱们继续,装饰器是对函数进行包装,算是对函数的整体进行处理(其实是对输入和输出)。部分的话其实只有对参数进行部分处理了。怎么部分处理的呢?看个场景就明白了。

场景:有这样的函数:get_useragent(request) 用来获取用户浏览器的ua信息,但是这个函数又不是在主体函数(执行页面渲染的函数)get时调用的,只在模板中的一个filter中调用的(可以理解是在模板渲染时调用的),而filter在执行的时候是不能添加参数的,哪你要怎么处理。

这时partial就得闪亮登场了,代码时间到:

image.png

image.png

这样的例子不知道是否够清楚,函数的大致意思就是提前给函数绑定几个参数。

不考虑场景的例子是这样的:

image.png



收藏(0)0
查看评分情况

全部评分

此主贴暂时没有点赞评分

总计:0

回复分享

版主推荐

    共有0条评论

      • IT宅男
      • mr jack
      • Mr ken
      • Mright
      • cappuccino
      • YUI
      • 课课家运营团队
      • 课课家技术团队1
      • 酸酸~甜甜
      • 选择版块:

      • 标题:

      • 内容

      • 验证码:

      • 标题:

      • 内容

      • 选择版块:

      移动帖子x

      移动到: