2012-11-04 35 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