Python partial函数原理及用法解析

这篇文章主要介绍了Python partial函数原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

介绍

partial其实是Python模块functools中定义的一个函数,当我们需要经常调用某个函数时,但是其中某些参数是已知的固定值,这样可能会让代码显得冗余,这个时候就可以考虑使用partial函数。

使用

假设我们要做二进制转十进制

int('1000000', base=2)
# 64
int('1010101', base=2)
# 85

如果我们要重复使用这个函数,需要重复写的东西就会很多

但是如果我们使用partial

from functools import partial
int2 = partial(int, base=2)

int2('110')
# 6

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python使用functools模块中的partial函数生成偏函数

    python 中提供一种用于对函数固定属性的函数(与数学上的偏函数不一样) # 通常会返回10进制 int('12345') # print 12345 # 使用参数 返回 8进制 int('11111', 8) # print 4681 每次都得添加参数比较麻烦, functools提供了partial的方法 import functools foo = functools.partial(int, base=8) foo('11111') # print 4681 通过这种方法生成一个固定参

  • python中partial()基础用法说明

    前言 一个函数可以有多个参数,而在有的情况下有的参数先得到,有的参数需要在后面的情景中才能知道,python 给我们提供了partial函数用于携带部分参数生成一个新函数. 在functools模块中有一个工具partial(),可以用来"冻结"一个函数的参数,并返回"冻结"参数后的新函数. 很简单的解释,也是官方手册给的示例.对于int()函数,它可以将给定的数值转换成十进制整数,转换时可以指定以几进制的方式解析给定的数.例如: # 以10进制解析123,并转换成

  • 基于python中__add__函数的用法

    运算符重载 _add ##定义:让自定义的类生成的对象(实例)能够使用运算符进行操作 class Vector01: '''定义一个一维向量''' def init(self,x): self.x = x def str(self): '''定义新生成的返回值是什么,如果没有这个之间返回的是类的特点''' return ('一维向量的分量是:%d' % (self.x)) def add(self, other): #表示print内的+ # print('参数是:',other) return

  • Python中使用partial改变方法默认参数实例

    Python 标准库中 functools库中有很多对方法很有有操作的封装,partial Objects就是其中之一,他是对方法参数默认值的修改. 下面就看下简单的应用测试. 复制代码 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用来改变一个方法默认参数 1 改变原有默认值参数的默认值 2 给原来没

  • Python实现partial改变方法默认参数

    在Python的标准库中,functools库中有很多对方法有操作的封装功能,partial Objects就是其中之一,他可以实现对方法参数默认值的修改.本文就以实例代码说明这一功能. 下面就看下简单的应用测试实例.具体代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用来改变一个方法默认参数 1 改变原

  • python中偏函数partial用法实例分析

    本文实例讲述了python中偏函数partial用法.分享给大家供大家参考.具体如下: 函数在执行时,要带上所有必要的参数进行调用.但是,有时参数可以在函数被调用之前提前获知.这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用. 例如: In [9]: from functools import partial In [10]: def add(a,b): ....: return a+b ....: In [11]: add(4,3) Out[11]: 7 In

  • 浅谈python标准库--functools.partial

    一.简单介绍: functools模块用于高阶函数:作用于或返回其他函数的函数.一般而言,任何可调用对象都可以作为本模块用途的函数来处理. functools.partial返回的是一个可调用的partial对象,使用方法是partial(func,*args,**kw),func是必须要传入的,而且至少需要一个args或是kw参数. 创建一个功能函数,实现三个数的相加,如果其中的一个或是多个参数不变,那么可以使用partial,实例化一个传入了add和12参数的对象,如上图所示,传入两个参数后

  • python函数声明和调用定义及原理详解

    这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前面文章接触到的type()/len()等等都是函数,这些函数是python的内置函数,python底层封装后用于实现某些功能. 一.函数的定义 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回:

  • Python函数的默认参数设计示例详解

    在Python教程里,针对默认参数,给了一个"重要警告"的例子: def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print(f(3)) 默认值只会执行一次,也没说原因.会打印出结果: [1] [1, 2] [1, 2, 3] 因为学的第一门语言是Ruby,所以感觉有些奇怪. 但肯定的是方法f一定储存了变量L. 准备知识:指针 p指向不可变对象,比如数字.则相当于p指针指向了不同的内存地址. p指向的是可变对象,

  • Python partial函数原理及用法解析

    这篇文章主要介绍了Python partial函数原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 partial其实是Python模块functools中定义的一个函数,当我们需要经常调用某个函数时,但是其中某些参数是已知的固定值,这样可能会让代码显得冗余,这个时候就可以考虑使用partial函数. 使用 假设我们要做二进制转十进制 int('1000000', base=2) # 64 int('1010101', bas

  • Python Merge函数原理及用法解析

    Merge函数的用法 简单来说Merge函数相当于Excel中的vlookup函数.当我们对2个表进行数据合并的时候需要通过指定两个表中相同的列作为key,然后通过key匹配到其中要合并在一起的values值. 然后对于merge函数在Pandas中分为1vs1, 多(m)vs1,以及多(m)vs多(m)这三种场景.但是平时用的最多的往往是多vs1的这种场景.也就是说2个表中其中一个表作为key的值会出现重复,而另外一个表作为key的值则是唯一. 这种场景也很好理解.例如:我们在生产环境中对服务

  • Python eval函数原理及用法解析

    eval函数就是实现list.dict.tuple与str之间的转化 str函数把list,dict,tuple转为为字符串 一.字符串转换成列表 a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" print(type(a)) b = eval(a)print(type(b)) print(b) 二.字符串转换成字典 a = "{1: 'a', 2: 'b'}" print(type(a)) b = eval(a) print(ty

  • Python openpyxl模块原理及用法解析

    这篇文章主要介绍了Python openpyxl模块原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 此模块不是Python内置的模块需要安装,安装方法如下 pip install openpyxl 注意: 此模块只支持offce 2010,即是电子表格后缀是*.xlsx 1.openpyxl模块常用函数 import openpyxl wb = openpyxl.load_workbook('example.xlsx') ####

  • python重要函数eval多种用法解析

    这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.参数会作为一个 Python 表达式(从技术上说是一个条件列表)被解析并求值 >>> x = 1 >>> eval('x+1') 2 2.去除字符串两边的引号 >>> a='"srting"' >>> print(a) "srting"

  • Python子进程subpocess原理及用法解析

    python的子进程嘛,就是利用python打开一个子进程(当然像是一句废话),但是可能和我们理解的不太一样. 一:如何理解? 我们可能的理解:多开一个进程运行某个python函数(如果只想实现这个功能,请使用multiprocessing包) 正确的理解:python通过shell/cmd 打开一个新的程序进程,而不限于python函数,比如我们可以开一个"ls"指令的进程列出当前文件夹下的文件,这个"ls"指令明显是一个shell通用函数,而不是python 函

  • Python lambda表达式原理及用法解析

    开篇先明义:lambda是表达式,而def函数是语句代码块 所以lambda其实就是一个稍微高级一点的式子而已,只不过这个式子比较长,而且还会自己进行一些逻辑上的处理而已,心里不要虚 lambda也被叫做匿名函数,通俗点说就是一个没有名字的函数,那可不就是一个函数式子吗?在python的垃圾回收机制来看,如果一些内存空间没有引用指向,那这些内存空间就被回收掉,所以这个连名字都没有的匿名函数,肯定是用过即销的. 综上所述,我们可以很容易的得出lambda表达式的特点: 1.用一个表达式就能实现简单

  • Python生成器generator原理及用法解析

    前言 生成器generator 生成器的本质是一个迭代器(iterator) 要理解生成器,就要在理解一下迭代,可迭代对象,迭代器,这三个概念 Python生成器generator简介 iteration, iterable, iterator 迭代(iteration):在python中迭代通常是通过for...in...来实现的.而且只要是可迭代对象iterable,都能进行迭代. 可迭代对象(iterable):Python中的任意的对象,只要它定义了可以返回一个迭代器的 __iter__

  • python sorted函数原理解析及练习

    这篇文章主要介绍了python sorted函数原理解析及练习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前两天学习了一下socket编程,在向某大神请教问题时被嫌弃了,有一种还没学会走就想跑的感觉.大神说我现在的水平应该去做一些像是操作文件.序列号等的小练习来加深理解.下面是他给我出的小练习: 1.datas = [['sherry',19,'female'],['flora',21,'female'],['june',15,'femal

  • python中metaclass原理与用法详解

    本文实例讲述了python中metaclass原理与用法.分享给大家供大家参考,具体如下: 什么是 metaclass. metaclass (元类)就是用来创建类的类.在前面一篇文章<python动态创建类>里我们提到过,可以用如下的一个观点来理解什么是metaclass: MyClass = MetaClass() MyObject = MyClass() metaclass是python 里面的编程魔法 同时在前面一篇<python动态创建类>文章里描述动态创建class 的

随机推荐