我可以用另一个类的方法从调用python对象的dict吗?

我可以用另一个类的方法从调用python对象的dict吗?,python,Python,我创建了一个名为Emp的类,它具有诸如员工编号、部门编号、员工类型等属性。我使用这个类填充了一个名为Emp_dict的字典 我已经为Dept做了类似的事情,包括Dept的详细信息,现在我想在department类中创建一个方法来测量这个类中的承包商数量,但要做到这一点,我引用emp_dict class Dept(): def __init__(self,deptno, deptname): self.deptno = deptno def contractor_

我创建了一个名为Emp的类,它具有诸如员工编号、部门编号、员工类型等属性。我使用这个类填充了一个名为Emp_dict的字典

我已经为Dept做了类似的事情,包括Dept的详细信息,现在我想在department类中创建一个方法来测量这个类中的承包商数量,但要做到这一点,我引用emp_dict

class Dept():
    def __init__(self,deptno, deptname):
        self.deptno = deptno
    def contractor_count(self,qtr,emp_dict): 
        contractor_count = 0
        if qtr in ['FY14Q1A','FY14Q2A','FY14Q3A','FY14Q4A',\
               'FY15Q1A','FY15Q2A','FY15Q3A','FY15Q4A',\
               'FY16Q1A','FY16Q2A','FY16Q3A','FY16Q4A',\
               'FY17Q1A','FY17Q2A','FY17Q3A','FY17Q4A']:
            for worker in self.allo[qtr].keys():
                if emp_dict[worker].emptype != "R" :
                    contractor_count_= 1
        return contractor_count  
当我尝试使用count_contractor方法时,它返回初始值:0
我应该使用另一种方法吗?

不再接触
承包商计数变量。你有:

contractor_count_= 1
你是说这个吗

contractor_count += 1

我还建议使用不同于方法名的变量名,以避免可能的混淆

您似乎有拼写错误,点击了
\uu
而不是
+

您的代码应该是:

class Dept():
def __init__(self,deptno, deptname):
    self.deptno = deptno
def contractor_count(self,qtr,emp_dict): 
    contractor_count = 0
    if qtr in ['FY14Q1A','FY14Q2A','FY14Q3A','FY14Q4A',\
           'FY15Q1A','FY15Q2A','FY15Q3A','FY15Q4A',\
           'FY16Q1A','FY16Q2A','FY16Q3A','FY16Q4A',\
           'FY17Q1A','FY17Q2A','FY17Q3A','FY17Q4A']:
        for worker in self.allo[qtr].keys():
            if emp_dict[worker].emptype != "R" :
                contractor_count+= 1
    return contractor_count  
行的更正:
contractor\u count+=1