我在谷歌上找不到任何关于这个主题的信息,所以我想我应该在这里问:
是否可以像 jQuery 那样使用 Python 链接函数?
['my', 'list'].foo1(arg1, arg2).foo2(arg1, arg2).foo3(arg1, arg2) #etc...
当我编写这段代码时,我失去了很多空间和可读性:
foo3(foo2(foo1(['my', 'list'], arg1, arg2), arg1, arg2), arg1, arg2) #etc...
似乎存在一些虚幻的库来创建此类函数,但我似乎不明白为什么这必须看起来如此复杂......
Thanks!
只要函数返回一个值,就可以将其链接起来。在 jQuery 中,选择器方法通常返回选择器本身,这允许您进行链接。如果你想在 python 中实现链接,你可以这样做:
class RoboPuppy:
def bark(self):
print "Yip!"
return self
def growl(self):
print "Grr!"
return self
pup = RoboPuppy()
pup.bark().growl().bark() # Yip! Grr! Yip!
然而,你的问题似乎是你的函数参数太狭窄了。链接不是解决这个问题的方法。如果您想压缩函数参数,只需在将参数传递给函数之前将参数分配给变量,如下所示:
spam = foo(arg1, arg2)
eggs = bar(spam, arg1, arg2)
ham = foobar(eggs, args)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)