python类中的全局定义

时间:2017-04-28 19:10:58

标签: python class object-oriented-analysis

我正在编写一个类来分析一些数据。我的一个函数创建了一个dict来存储结果:

def get_top_hits(self):

    global output_dict
    output_dict = {} 

    with open(self.all_employees)as file: 

        employees_data = csv.reader(file, delimiter=';', quotechar='|')
        result = [row for row in employees_data]
        result.pop(0)
        for row in result:
            name = row[0]
            job = row[1]
            number = row[2]
            output_dict.setdefault(name, set()).add(job)

    return output_dict

但是,当我尝试使用类定义中的另一个函数访问output_dict时,Python告诉我output_dict没有定义。 我知道这些功能正常工作,但我无法弄清楚如何让它们在我的课程定义中发挥作用。

1 个答案:

答案 0 :(得分:2)

哦,如果这是一个类中的函数,不要使用全局,请将其作为该类的属性!

self.output_dict = {}