相关疑难解决方法(0)

Python参数绑定器

如何将参数绑定到Python方法以存储一个用于以后调用的nullary仿函数?与C++类似boost::bind.

例如:

def add(x, y):
    return x + y

add_5 = magic_function(add, 5)
assert add_5(3) == 8
Run Code Online (Sandbox Code Playgroud)

python partial-application

60
推荐指数
5
解决办法
2万
查看次数

lamba:getattr(obj,x)在列表中的奇怪行为

在以下示例中:

class A(object):
    pass
    prop1 = 1
    prop2 = 2
    prop3 = 3
    prop4 = 4

obj = A()
tmp = ['prop1', 'prop2', 'prop3', 'prop4']
getter = [ lambda: getattr(obj, x) for x in tmp ]
Run Code Online (Sandbox Code Playgroud)

我总是4在打电话给getter:

[getter[i]() for i in range(4)]
#[4, 4, 4, 4]
Run Code Online (Sandbox Code Playgroud)

为什么!?

python lambda list getattr

0
推荐指数
1
解决办法
519
查看次数

标签 统计

python ×2

getattr ×1

lambda ×1

list ×1

partial-application ×1