2012-10-11 34 views
0

說我有一個功能:簡單的方式來傳遞attribues作爲參數沒有定義一個類

def test(ab): 
    print ab.a 
    print ab.b 

我怎樣才能輕鬆地將參數傳遞給這個函數不定義一個類?我在尋找的線沿線的東西:

test({4,5}) 

test(ab.a = 5, ab.b = 6) 

這是在所有可能的?改變功能「測試」不是一種選擇。

+2

我沒有得到 「沒有定義一個類」 的限制。這是一個家庭作業難題還是一個真正的問題?是使用namedtuple作弊嗎? – DSM

+0

我知道我可以通過定義一個類或使用外部庫來解決這個問題。 「沒有定義類」的限制只是爲了澄清,我正在尋找一種快速完成這一行的方法。所以我想我是問是否有內置的方式來做到這一點。 – bofjas

+0

做這個我能想到的最簡單的方法是使用'namedtuple',它返回一個新的元組子類,因此定義了一個類,所以被你的限制排除了。只是解釋你想要做什麼以及爲什麼要更簡單。 – DSM

回答

6

使用collections.namedtuple

import collections 

ab = collections.namedtuple("AB", "a b")(a=4, b=5) 
test(ab) 
相關問題