functools.partial(func[, *args][, **keywords])
只为函数提供部分参数,同样可以返回一个可操作的对象
import maya.cmds as cmds
from functools import partial
def myfunc(inst=None, thing=None, arg=None):
print 'arg: ', arg
print 'inst: ', inst
print 'thing: ', thing
data = cmds.button(inst.btnA, query=True, label=True)
print data
class ui():
def __init__(self, winName="winTheWindow"):
self.winTitle = "The Window"
self.winName = winName
def create(self):
if cmds.window(self.winName, exists=True):
cmds.deleteUI(self.winName)
cmds.window(self.winName, title=self.winTitle)
self.mainCol = cmds.columnLayout(adjustableColumn=True)
self.btnA = cmds.button(label='Press Me - External Func', c=partial(myfunc, self, 'say...'))
self.btnB = cmds.button(label='Press Me - External Func', c=partial(self.a, 'something...'))
self.btnC = cmds.button(label='Press Me - External Func No args', c=self.b)
cmds.showWindow(self.winName)
cmds.window(self.winName, edit=True, widthHeight=[250, 75])
def a(self, myarg=None, arg=None):
print 'myarg:', myarg
def b(self, arg=None):
print 'button require an argument'
print 'the argument passed in will always be the last argument'
#create the window
inst = ui()
inst.create()
分享到:
相关推荐
主要介绍了python标准库--functools.partial,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
functools.partial返回的是一个可调用的partial对象,使用方法是partial(func,*args,**kw),func是必须要传入的,而且至少需要一个args或是kw参数。 创建一个功能函数,实现三个数的相加,如果其中的一个或是多个...
partial -部分应用功能 rpartial右手局部 收款业务 map -应用一个函数来的载体/单元阵列的每个成员和返回相同类型的修饰的集 reduce -降低(倍)的值的单元阵列或载体导入使用重复的功能的应用程序的单个 实用工具 ...
所谓偏函数即是规定了固定参数的函数,在函数式编程中我们经常可以用到,这里我们就来看一下Python使用functools模块中的partial函数生成偏函数的方法
在Python的标准库中,functools库中有很多对方法有操作的封装功能,partial Objects就是其中之一,他可以实现对方法参数默认值的修改。本文就以实例代码说明这一功能。 下面就看下简单的应用测试实例。具体代码如下...
functools.partial 作用: functools.partial 通过包装手法,允许我们 “重新定义” 函数签名 用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待 冻结部分函数位置函数或关键字...
Python 标准库中 functools库中有很多对方法很有有操作的封装,partial Objects就是其中之一,他是对方法参数默认值的修改。 下面就看下简单的应用测试。 复制代码 代码如下: #!/usr/bin/env python # -*- coding: ...
1.partial 首先是partial函数,它可以重新绑定函数的可选...>>> from functools import partial >>> int2 = partial(int, 2) # 这里我没写base,结果就出错了 >>> int2('10') Traceback (most recent call last): Fi
如果需要减少某个函数的参数个数,可以使用functools.partial() 。 partial() 函数允许给一个或多个参数设置固定的值,减少接下来被调用时的参数个数。 假设一个函数有很多参数: def func(a, b, c, d): print(a, ...
本文实例讲述了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 [12]: plus = partial(add,100) In [13]: plus(9) Ou
Python自带的 functools 模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数。换言之,就是能使用该... functools.partial(func[, args][, *keywords]) functools.update_wrapper(wrapper, wrapped[,
闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为...from functools import partial from PIL import Image, ImageTk def
from functools import partial def perform ( idx , worker_id = None , gpu_id = None ): """ Function to be performed on worker. Variables `worker_id` and `gpu_id` will be filled automatically wit
partial ( spm . run , 'git' ) >> > git ( 'status' , '-z' ). stdout . read (). split ( b' \x00 ' ) [ ' M spm.py' , '' ] 这在python标准库的subprocess模块之上提供了一个非常薄的KISS层。 该库支持Python 2...
numpy 中的高维数组可以使用其自带的 ...from functools import partial def flatten(x): original_shape = x.shape return x.flatten(), partial(np.reshape, newshape=original_shape) 上面这个 flatten 函数
from functools import partial import base64 class DES(object): """ DES加密算法 interface: input_key(s, base=10), encode(s), decode(s) """ __ip = [ 58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4, ...
from functools import partial import tkyamlgui as tkyg if sys . version_info [ 0 ] < 3 : import Tkinter as Tk else : import tkinter as Tk class MyApp ( tkyg . App , object ): def __init__ ( self...