在其他方法中调用方法作为参数 - python

时间:2015-03-20 01:40:14

标签: python python-2.7

我是python PL的新手。我怀疑是这样的:

我的方法:

def preprocess(json_data):
    for rates in json_data['query']['results']['rate']:
        map_dict
        map_dict['rate'] = rates['Rate']

我希望将此方法作为参数传递给具有 json_data 变量的其他方法。

def read_currency_data(self, request_url, response_type, preprocess=None):
    parse_url = urllib.urlopen(request_url).read()
        json_data = json.loads(parse_url)
        json_data.preprocess(json_data)

所以,当我调用预处理(json_data)时,它应该评估我的json_data变量。我现有的代码提供了追溯:

ValueError: "'dict' object has no attribute 'preprocess'"

请指导我实现目标。提前谢谢

1 个答案:

答案 0 :(得分:2)

更改

    json_data.preprocess(json_data)

进入

    preprocess(json_data)

因为,正如错误消息所示,json_datadict对象,当您执行json_data.preprocess时,您正试图找到一个名为preprocess的方法在dict类上,未定义。相反,您需要功能(不是方法)。