2016-07-28 91 views
2

我創建了一個名爲Emp的類,其中包含員工編號,部門編號,員工類型等屬性。我使用這個類來填充名爲emp_dict的字典。我可以用另一個類的方法調用python對象的字典嗎?

我已經爲部門做了類似的事情,現在我想在部門類中創建一個方法來測量此類中的數字承包商,但是要這樣做,我參考了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 我應該使用另一種方法?

回答

2

contractor_count變量永遠不會再被觸摸。您有:

contractor_count_= 1 

您的意思是嗎?

contractor_count += 1 

我還建議使用與方法名稱不同的變量名,以避免可能的混淆。

0

好像你有拼寫錯誤,並創下_,而不是+

你的代碼應該是:

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_count+= 1

相關問題