我可以用另一个类的方法从调用python对象的dict吗?
我创建了一个名为Emp的类,它具有诸如员工编号、部门编号、员工类型等属性。我使用这个类填充了一个名为Emp_dict的字典 我已经为Dept做了类似的事情,包括Dept的详细信息,现在我想在department类中创建一个方法来测量这个类中的承包商数量,但要做到这一点,我引用emp_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_
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