类实例中的增量实例计数器

时间:2011-12-30 15:30:21

标签: python class instance

我正在编写一个程序,旨在在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”的方法。

这可能是一个简单的问题,但它一直困扰着我。

1 个答案:

答案 0 :(得分: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