2011-12-30 45 views
2

我正在編寫一個程序,旨在在Active Directory中生成大量活動來壓力測試另一個軟件。要創建用戶,我創建一個簡單的類象類實例中的遞增實例計數器

class ADUser(object): 
    def __init__(self): 
    self.firstname = self.firstname() # returns a random name from a big list 
    self.lastname = self.lastname() # returns a random name from a big list 
    self.fullname = self.firstname + " " + self.lastname 
    self.employeeid = ???    # an incrementing integer... somehow 

這是employeeid的屬性,竟然放棄了我麻煩。我會每次創建一個用戶對象時都有這個增量 - 這將保證唯一的ID號碼,並幫助我跟蹤活動。但是,我不確定如何在課堂上做到這一點。我可以這樣做這個類很容易就可以用for循環,但這看起來並不像最乾淨或最「Pythonic」的方法。

這可能是一個簡單的問題,但它一直困擾着我。

回答

6

這是static variable的理想用例。

class ADUser(object): 
    numEmployees = 0 
    def __init__(self): 
     self.firstname = self.firstname() # returns a random name from a big list 
     self.lastname = self.lastname() # returns a random name from a big list 
     self.fullname = self.firstname + " " + self.lastname 
     ADUser.numEmployees += 1 
     self.employeeid = ADUser.numEmployees 
+0

就這麼簡單,呃?非常感謝! – Kudzu 2011-12-30 15:45:56