我正在编写一个程序,旨在在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”的方法。
这可能是一个简单的问题,但它一直困扰着我。
答案 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