在Python

时间:2016-06-23 09:10:53

标签: python-2.7

在Python中很多次我这样做:

  • 创建一个对象;
  • 使用此对象的常用方法进行更新;
  • 返回更新的对象以供立即使用;
  • 永远不要再说了。

玩具示例如下:

haystack = set(xrange(1, 10))
needle = np.random.randint(20)
haystack.add(needle)

print haystack

现在我正在寻找的是上述过程中最有效(并且有点pythonic的方式)。

解决方案可以是在前面定义一个执行此操作的函数:

def value(object, method, *args):
    getattr(object, method)(*args)
    return object

所以我可以随时做这样的事情:

print value(set(xrange(1, 10)), "add", np.random.randint(1, 20))

>> set([1, 2, 3, 4, 5, 6, 7, 8, 9, 17])

有更好的方法吗?

0 个答案:

没有答案