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

标签 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”的方法。

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

最佳答案

这是 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

关于python - 类实例中的增量实例计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681052/

相关文章:

java - java中构造函数类型不匹配

python - 如何重新定义 Python 类实例的 type()?

list - Haskell - 数字和列表

python - 运行时错误: Disconnected graph for GANs because input can't be obtained

python - 如何在Python中加入Pandas数据框

jquery - 如何从文本旁边的文本框中获取值

c++ - 体系结构 x86_64 的 undefined symbol 。我的代码有什么问题?

python - 在 `__init__()` 之外声明的实例变量在 python 中有什么区别吗?

python - Pandas dataframe 笛卡尔连接

python - django,python中方括号中的类调用