python可以返回多个值,确实挺方便
函数里的return只能返回一个值,但是返回类型是没是限制的
因此,我们可以“返回一个 tuple类型,来间接达到返回多个值”。
例子是我在robot framework source code 时的例子:
def __init__(self, cells):
self.cells, self.comments = self._parse(cells)
def _parse(self, row):
data = []
comments = []
for cell in row:
cell = self._collapse_whitespace(cell)
if cell.startswith('#') and not comments:
comments.append(cell[1:])
elif comments:
comments.append(cell)
else:
data.append(cell)
return self._purge_empty_cells(data), self._purge_empty_cells(comments)
当时__init__是类的构造函数,他将得到有_parse解析回来的多个返回值,self._purge_empty_cells(data) 赋给self.cells, self._purge_empty_cells(comments)赋给self.comments
就这么简单 :)