我知道Python没有明确启用或具有允许方法链接的功能,但我想执行以下操作:
infile = wave.open(
fileName="sample.wav",
type='DOUBLE').Emphasize().Compress()
问题是,如果我使用,请说出以下内容:
wav.open(Emphasize(Compress("blahh", "blahh")));
然后:
1)对我而言,代码看起来比Method Chaining
更加丑陋2)我需要能够在强调和压缩之前获取数据。
更好地构建此代码的任何想法?
答案 0 :(得分:1)
不要害怕临时变量。它们更容易调试(使用链接,如果存在错误,最终会将其拉开),并且更容易理解(并且易于阅读,在实用性方面轻松编写)。你未来的维护者会感谢你。
IOW,这样的事情比链接更好(但你应该使用更有意义的变量名称):
compressed = Compress("blahh", "blahh")
emphasized = Emphasize(compressed)
wav.open(emphasized)
http://www.brainyquote.com/quotes/quotes/a/alanperlis177188.html