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


相关推荐

  • 开源!!!100 多个常用 API 数据接口免费分享!建议收藏![通俗易懂]

    开源!!!100 多个常用 API 数据接口免费分享!建议收藏![通俗易懂]点击上方“Java精选”,选择“设为星标”别问别人为什么,多问自己凭什么!下方有惊喜留言必回,有问必答!每天08:15更新文章,每天进步一点点…我们在开发的过程中,常常调用API接口,往往事半功倍。今天给大家整理了优秀的API接口!各类无次数限制的免费API接口整理,主要是聚合数据上和APIStore上的一些,还有一些其他的。聚合数据提供30大类,160种以上基…

    2022年9月17日
  • VSCode设置中文语言显示

    VSCode设置中文语言显示 Vscode是一款开源的跨平台编辑器。默认情况下,vscode使用的语言为英文(us),如何将其显示语言修改成中文了?1)打开vscode工具;2)使用快捷键组合【Ctrl+Shift+p】,在搜索框中输入“configuredisplaylanguage”,点击确定后;3)修改locale.json文件下的属性“locale”为“zh-CN”;4)重启vscode工具;…

    2022年5月7日
  • c language program_language deficit

    c language program_language deficitprintf(“%d\n”,a) scanf(“%d%d”,&num1,&num2),&代表存放的是地址,scanf相当于scannerin 在同一个工程项目中,全局变量可通用,如果要A类要用的B类的全局变量num,则这样声明,externintnum,然后就可以使用了………………………………………………………………………………………….

    2022年9月28日
  • Java安全之Fastjson反序列化漏洞分析

    Java安全之Fastjson反序列化漏洞分析首发:先知论坛0x00前言在前面的RMI和JNDI注入学习里面为本次的Fastjson打了一个比较好的基础。利于后面的漏洞分析。0x01Fas

    2021年12月13日
  • Java 取余 (remain),取模 (mod) 的 区别和运算

    Java 取余 (remain),取模 (mod) 的 区别和运算Java取余(remain),取模(mod)的区别和运算范围区别:取模主要是用于计算机术语中。取余则更多是数学概念。主要的区别在于对负整数进行除法运算时操作不同那么具体是怎样的不同?首先需要知道Java中如何取模:Java中用符号%对数字进行取模,可以得到以下:System.out.println(5%3);System.out.println(-5%3);Sys…

    2022年6月3日
  • [PHP]程序员技能栈

    [PHP]程序员技能栈

    2021年9月6日

发表回复

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

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