python偏函数理解_python进阶路线

python偏函数理解_python进阶路线什么是偏函数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原则,节省编程成本。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165062.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 单例模式

    单例模式单例模式

  • 回溯法 0-1背包问题

    回溯法 0-1背包问题一.回溯法回溯法采用的是深度优先策略,回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如

  • leetcode516_leetcode46

    leetcode516_leetcode46题目描述Givenacollectionofnumbers,returnallpossiblepermutations.Forexample,[1,2,3]havethefollowingpermutations:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],and[3,2,1].分析代码publicList<

  • java加壳工具_加壳工具 – virbox加密空间站 – OSCHINA – 中文开源技术交流社区

    java加壳工具_加壳工具 – virbox加密空间站 – OSCHINA – 中文开源技术交流社区VirboxProtectorStandalone加壳工具可直接对dll文件进行加壳,防止代码反编译,更安全,更方便。产品简介VirboxProtectorStandalone提供了强大的代码虚拟化、高级混淆与智能压缩技术,保护您的程序免受逆向工程和非法修改。VirboxProtectorStandalone将被保护的程序代码转换为虚拟机代码,程序运行时,虚拟机将模拟程序执行,进入…

  • ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter

    ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter用于执行增,删,改的方法,支持存储过程1.ExecuteNonQuery数据库连接字符串:privatereadonlystaticstringconnectionString=ConfigurationManager.ConnectionStrings["MyConnection"].ToString();连接字符串,自满足,请用SqlHelper.con…

  • java jps_java11教程–jps命令

    java jps_java11教程–jps命令您可以使用该jps命令列出目标系统上已检测的JVM。概要注意:此命令是实验性的,不受支持。jps[-q][-mlvV][hostid]**jps[-help]-q抑制类名,JAR文件名和传递给该main方法的参数的输出,从而仅生成本地JVM标识符的列表。-mlvV-m显示传递给main方法的参数。输出可能是null针对嵌入式JVM的。-l显示应用程序main类的完整软件包名称或应用程序JA…

发表回复

您的电子邮箱地址不会被公开。

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