(我最近才开始使用Python的课程,所以请原谅我缺乏经验。我以前问的问题会用几个脚本来处理)
我有一门课叫“狐狸”。该类的方法一次处理一个文件,属性一次包含一个文件。
然而,在现实世界中,我经常会有一对输入,例如,
(一次不超过2)
有些方法集成了开放源码工具,一次处理一个文件,而另一些方法则有对文件的特定处理。我正试图决定如何最有效地处理最终的“第二个文件”。我可以为“输入组”创建一个新类,也可以为“附加输入”创建属性?你是如何处理这种情况的?
发布于 2015-06-30 15:51:28
我不太清楚你在问什么,但听起来你可能是在找双重调度。Python有一些不错的重量级实现,但是也许您可以使用一些更轻量级的东西。
一个简单的方法是将我假设的文件类型(1、2、3等)插入foofile对象,然后使用字典作为调度表:
process = {
(1, 1): process_ones,
(2): process_two,
(4, 4): process_fours
}其中每个process_*都是采用适当数量的参数的函数。例如:
def process_ones(left, right): ...现在,当您拥有您的对象时,您可以这样做:
process[(foofile1.type, foofile2.type)](foofile1, foofile2)这是否合适,或者如果您需要更复杂的东西,取决于您的用例是什么样子。
https://stackoverflow.com/questions/31142483
复制相似问题