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
就這么簡單 :)
新聞熱點
疑難解答