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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SqlServer定时备份数据库和定时杀死数据库死锁解决

    SqlServer定时备份数据库和定时杀死数据库死锁解决

    2021年8月29日
    54
  • 什么是卫语句(卫语句)

    如果条件语句极其复杂,就应该将条件语句拆解开,然后逐个检查,并在条件为真时立刻从函数中返回,这样的单独检查通常被称之为“卫语句”(guardclauses)摘自《重构—改善既有代码的设计》卫语句的效果就是将原来需要仔细阅读代码、细心整理逻辑的条件判断整理成一眼能看透的逻辑关系,效果就像以下:if(it==活的){if(it==人){if(it!=女人){…

    2022年4月18日
    107
  • kubernetes ingress更改日志格式

    kubernetes ingress更改日志格式 IngressNginx默认访问日志都输出到/var/log/nginx/access.log文件中,但是对于一般的生产环境来说,不可能把所有日志都输到一个日志文件中,一般情况都是根据域名分别输出到各个文件中。所以这里区分http指令域默认配置以及单独域名的日志的配置方式。1.默认日志格式更改为json  修改mandatory.yaml部署文件nginx-configurationConfigMap配置中log-format-upstream字段,具体修改如下:log-form

    2022年6月10日
    50
  • linux查看fcsan设备,fc-san存储

    linux查看fcsan设备,fc-san存储对象存储服务 OBS 对象存储服务 ObjectStorag 是一款稳定 安全 高效 易用的云存储服务 具备标准 RestfulAPI 接口 可存储任意数量和形式的非结构化数据对象存储服务 OBS 对象存储服务 ObjectStorag 是一款稳定 安全 高效 易用的云存储服务 具备标准 RestfulAPI 接口 可存储任意数量和形式的非结构化数据执行异步 API 命

    2025年8月7日
    4
  • 报文学习四(LLDP协议)「建议收藏」

    报文学习四(LLDP协议)「建议收藏」1.LLDP出现的原因随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是用于这个目的的协议。当一个设备从网络中接收到其它设备的这些信息时,它就将…

    2022年6月2日
    117
  • 基于大数据平台的互联网数据采集平台架构介绍

    基于大数据平台的互联网数据采集平台架构介绍互联网的飞速发展将社会带入数据高度发达且公开的信息时代,数据对于企业经营、政府决策及社会动态分析等具有极其重要的作用,而如何大规模、快速采集数据成为技术焦点。网络爬虫是按照一定规则自动游走爬取互联网文本网页的程序或者脚本。文本数据大多嵌套于网页程序代码中。数据采集的效率直接决定数据的有效及时性,数据的快速采集成为重中之重。基于大数据平台的的互联网数据采集,可以有效适用于海量数据采集场景,为…

    2022年6月3日
    39

发表回复

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

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