我知道Python没有显式启用或具有允许方法链接的功能,但我想做以下事情:
infile = wave.open(
fileName="sample.wav",
type='DOUBLE').Emphasize().Compress()
问题是,如果我使用,让我们说以下内容:
wav.open(Emphasize(Compress("blahh", "blahh")));
然后:
1) 对我来说,这个代码看起来比方法链接要丑陋得多
2) 我需要能够在强调和压缩之前提取数据。
有什么想法可以更好地构建这个代码吗?
不要害怕临时变量。它们更容易调试(有了链接,如果有错误,你最终会把它拆开),也更容易理解(在实用性方面,阅读容易胜过编码容易)。您未来的维护人员将感谢您。
IOW,这样的东西比链接更好(但你应该使用更有意义的变量名):
compressed = Compress("blahh", "blahh")
emphasized = Emphasize(compressed)
wav.open(emphasized)
http://www.brainyquote.com/quotes/quotes/a/alanperlis177188.html