在
Java中,我可以给一个类一个静态变量,这里是它的计数器.
我在构造函数中递增它,这使得它的目的是跟踪从这个类中实例化了多少个对象
class Thing
{
private static int counter;
public Thing()
{
counter++;
}
public static int getCounter()
{
return counter;
}
}
然后我可以通过使用(在主内部或任何地方)使用计数器
int counter = Thing.getCounter()
有没有办法在Python中这样做?我知道你本质上可以有静态类变量/属性,不给它们一个下划线前缀,然后通过Class.attribute(而不是Object.attribute或Object.get_attribute)访问它们,但有没有办法在其中使用静态变量类本身,就像我在Java示例中所做的那样,我在构造函数中使用了静态类变量?有一个像’self’这样的关键字是有道理的,尽管如果有的话我还没弄明白
最佳答案
class Thing:
counter = 0
def __init__(self):
Thing.counter += 1
def getCounter():
return Thing.counter
例
>>> a = Thing()
>>> b = Thing()
>>> Thing.getCounter()
2