python进阶(17)偏函数partial

python进阶(17)偏函数partial什么是偏函数partialpython中提供一种对于函数固定属性的函数偏函数的作用把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数偏函数的语法使用偏函数必须先导入from

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

什么是偏函数partial

python中提供一种对于函数固定属性的函数
 

偏函数的作用

把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数
 

偏函数的语法

使用偏函数必须先导入from functools import partial
函数格式:partial(func, *args, **kwargs)

  • func:代表函数名
  • *args:func函数的不定长参数
  • **kwargs:func函数的关键字参数
     

案例1

from functools import partial


bin2dec = partial(int, base=2)  # 把 int 的转换设为二进制了,这里 base 是 int 函数表示进制的参数。
print(bin2dec('0b10001') ) # 17
print(bin2dec('10001'))  # 17

hex2dec = partial(int, base=16)  # 把 int 的转换设为16进制
print(hex2dec('0x67'))  # 103
print(hex2dec('67'))  # 103

 

案例2

partial_max = partial(max, 100)
print(partial_max(1, 2, 99))  # 100

上面是给max()函数设定了一个默认参数100,返回一个新函数,当我们传入参数(1, 2, 99)实际上参数中还有一个默认值100,相当于(100, 1, 2, 99),所以得出的最大值为100
 
偏函数的这些应用看似简单,用途却很大,可以很好的执行DRY原则,节省编程成本。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165480.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eBPF介绍_bcp方案是什么意思

    eBPF介绍_bcp方案是什么意思本文主要是对eBPF进行介绍,带大家了解eBPF是什么、通过eBPF可以做些什么事情。1.BPF起源BPF源头起源于一篇1992年的论文,这篇论文主要提出一种新的网络数据包的过滤的框架,如…

    2022年9月21日
    2
  • BZOJ 2049: [Sdoi2008]Cave 洞穴勘測 LCT[通俗易懂]

    BZOJ 2049: [Sdoi2008]Cave 洞穴勘測 LCT

    2022年2月3日
    56
  • 关于ModifyStyle ModifyStyleEx修改自定义控件的问题[通俗易懂]

    关于ModifyStyle ModifyStyleEx修改自定义控件的问题[通俗易懂]继承与MFC控件,比如CStaticCEdit等等,在自定义代码中许多人反映无法更改控件的外观属相,这是因为大部分人没有通知主窗体自定义控件的外观更改了,可以使用下列代码进行更改: ModifyStyle(WS_BORDER,0,SWP_DRAWFRAME); ModifyStyleEx(WS_EX_STATICEDGE|WS_EX_WINDOWEDGE|WS_EX_DLGMODALFRAME,                       WS_EX_CLIENTEDGE,SWP_DRAWFRAME);

    2022年7月19日
    15
  • 5分钟入门mp4文件格式是多少_Mp4格式

    5分钟入门mp4文件格式是多少_Mp4格式写在前面本文主要内容包括,什么是MP4、MP4文件的基本结构、Box的基本结构、常见且重要的box介绍、普通MP4与fMP4的区别、如何通过代码解析MP4文件等。写作背景:最近经常回答团队小伙伴关于直播&短视频的问题,比如“flv.js的实现原理”、“为什么设计同学给的mp4文件浏览器里播放不了、但本地可以正常播放”、“MP4兼容性很好,可不可以用来做直播”等。在解答的过程中,发现经常涉及MP4协议的介绍。之前这块有简单了解过并做了笔记,这里稍微整理一下,顺便作为团队参考文档,如

    2022年10月16日
    1
  • keras提供的网络_kubernetes网络

    keras提供的网络_kubernetes网络GoogleNet网络详解与keras实现GoogleNet网络详解与keras实现GoogleNet系列网络的概览Pascal_VOC数据集第一层目录第二层目录第三层目录InceptionV1模块介绍Inception的架构GoogleNet的图片Keras代码实现为了搭建Inception网络我们使用了以下策略整个代码的流程如下实验结果实验结果分析本博客相关引用本

    2022年8月14日
    5
  • 目标检测算法YOLO3论文解读

    目标检测算法YOLO3论文解读论文题目:YOLOv3:AnIncrementalImprovement论文地址:https://arxiv.org/abs/1804.02767代码地址:https://github.com/aloyschen/tensorflow-yolo3一、论文解读1、boundingboxprediction(边界框预测)YOLO2预测boundingboxes是使…

    2022年6月22日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号