【发布时间】:2016-06-15 22:24:12
【问题描述】:
在Java中,我可以给一个类一个静态变量,这里是计数器。 我在构造函数中递增它,这使它的目的是跟踪从这个类中实例化了多少对象
class Thing
{
private static int counter;
public Thing()
{
counter++;
}
public static int getCounter()
{
return counter;
}
}
然后我可以通过使用(在 main 内部或任何地方)来使用计数器
int counter = Thing.getCounter()
有没有办法在 Python 中做到这一点?我知道你基本上可以通过不给它们一个下划线前缀来拥有静态类变量/属性,然后通过 Class.attribute(而不是 Object.attribute 或 Object.get_attribute)访问它们,但是有什么方法可以在其中使用静态变量类本身,就像我在构造函数中使用静态类变量的 Java 示例一样?有一个像'self'这样的关键字是有道理的,虽然如果有的话我还没有弄清楚
【问题讨论】:
-
您可以从类的方法内部使用
Class.attribute访问类变量,就像从类外部访问一样。 -
过去的这篇 SO 帖子也可能回答了您的问题:stackoverflow.com/questions/68645/…