說我有一個功能,像這樣:地圖kwargs返回nonetype蟒蛇
def test(*args, **kwargs):
print(args, kwargs)
,我想它調用地圖對象,像這樣:
obj = map(lambda var: test(var+1, var = var), [1, 2, 3])
當我打印值顯示爲:
>>> for i in obj:
print(i)
(2,) {'var': 1}
None
(3,) {'var': 2}
None
(4,) {'var': 3}
None
None
值從哪裏來?
謝謝!但現在它返回一個元組,如'((2,),{'var':1})''。有什麼辦法可以解決這個問題嗎?我在下一行嘗試'返回args'和'return kwargs',但它只返回'args'。 – rassar
@rassar:多個返回值總是'tuple's,你不能避免('return'只能返回一個東西,逗號只是讓它產生一個所有東西的'元組') 「)。但是你可以改變你的循環到'for a,b in obj:print(a,b)'來重新編譯循環,或者'for in in obj:print(* i)'在'print'調用中解壓縮。 Python的序列解包是使得多重返回能夠以隱藏'元組'方面的方式被使用的原因。 – ShadowRanger