2012-11-04 26 views
2

我想寫一個內部有很多東西的類。現在我想要某些選項可以讓輸出顯示一個不合適格式的數據。我的例子一個類中的函數應該將輸出(前一個字典)格式化爲一個列表。但我真的無法弄清楚如何做到這一點...如何以有效的方式格式化類內部的方法輸出?

這裏我嘗試:

class TestClass(object): 
    def __init__(self): 
     pass 

    def return_values_as_list(self,otherfunction): 
     data_as_list=[ i for i in otherfunction.values()] 
     return data_as_list 

    def get_data1_from_db(self): 
     self.data= {'1_testkey':'1_testvalue',"1_testkey2":"1_testvalue2"} 

    def get_data2_from_db(self): 
     self.data= {'2_testkey':'2_testvalue',"2_testkey2":"2_testvalue2"} 
     return self.data 

我想在結尾處是一樣的東西

['1_testvalue 」, '1_testvalue2']

當實例如下所示:

testcase = TestClass() 
testcase.get_data1_from_db.return_values_as_list() 

有幫助嗎?我想也掛鉤的......但我真的不知道該怎麼做......

+1

看到了這個問題:http://stackoverflow.com/a/1535336/1240268 –

+0

感謝您的鏈接...怎麼會看起來像這個例子......我和完整性;-P? – Jurudocs

回答

1

我覺得你的類get...方法應該是property屬性。

class TestClass(object): 
    def __init__(self): 
     pass 

    @property 
    def get_data1_from_db(self): 
     data= {'1_testkey':'1_testvalue',"1_testkey2":"1_testvalue2"} 
     return data.values() 

    @property 
    def get_data2_from_db(self): 
     data= {'2_testkey':'2_testvalue',"2_testkey2":"2_testvalue2"} 
     return data.values() 

testcase = TestClass() 
print testcase.get_data1_from_db # ['1_testvalue', '1_testvalue2'] 
print testcase.get_data2_from_db # ['2_testvalue', '2_testvalue2'] 
1
def return_values_as_list(self,otherfunction): 
    data_as_list= otherfunction().values() 
    return data_as_list 

幾乎有你 - 你只需要調用函數(括號內添加)

實例化:

testcase.return_values_as_list(testcase.get_data1_from_db) 
+0

嗨,史蒂夫!感謝您的回答!但是有沒有可能有點語法......我不需要再次調用para中的對象?......只是一個簡單的.return_values_as_list()左右......?感謝名單! – Jurudocs