我正在从一个特定的对象类中提取特征,并决定构建一个方法,一次提取所有特征,即调用所有特征提取方法并以元组形式返回它们,如下所示。你知道吗
def extractFeatures(self):
if self.getLength()<=10:
return ()
else:
return (self.getMean(), # a number
self.getStd(), # a number
self.getSkew(), # a number
self.getKurt(), # a number
# Many other methods here, such as:
self.getACF(), # which returns a TUPLE of numbers...
)
尽管如此,我还是有一些方法返回带有数字的元组,而不是单独的数字,因为我仍然在做一些测试并改变每个元组的长度,所以硬键入self.getACF()[0], self.getACF()[1], self.getACF()[2], ...
不是一个好主意。你知道吗
有没有一种pythonic方法可以让这些值已经“解包”了,这样我就可以返回一个只有数字的元组,而不是数字,或者是大小不确定的嵌套元组?你知道吗
您可以将值的
list
构建为return
,然后在末尾转换为元组。这允许您对单个值使用append
,对元组使用extend
:请注意,如果
self.getLength()
是10
或更少,则这将隐含return None
。你知道吗但是,请记住,您的调用函数现在需要确切地知道哪些数字是以什么顺序出现的。在这种情况下,另一种方法是返回字典:
现在,调用函数可以轻松访问key所需的功能,您可以通过字典解包将这些功能作为关键字参数传递给其他函数:
相关问题 更多 >
编程相关推荐