我并不是计算机科学背景,对于这个问题我在谷歌和Stack Overflow上搜索时遇到了困难。如果我有一个Python类,其中包含一个类变量objects
,如下所示:
class MyClass(object):
objects = None
pass
MyClass.objects = 'test'
print MyClass.objects # outputs 'test'
a = MyClass()
print a.objects # also outputs 'test'
类和类的实例都将可以访问objects
变量。我知道我可以这样改变实例值:
a.objects = 'bar'
print a.objects # outputs 'bar'
print MyClass.objects # outputs 'test'
在Python中,是否有可能拥有一个类变量,使得该变量可由类的用户(即不仅限于类内部)访问,但不能被该类的实例所访问?我认为其他语言中称之为私有成员或静态成员?
MyClass
的用户使用objects
,但我不希望MyClass
的实例使用objects
。Jonrsharpe提供的链接详细介绍了如何使某些内容私有化,这并不是我想通过这个问题得到的答案。我更想知道是否可能存在一个类变量仅存在于类中,而不在实例中。 - RandyMY_VARIABLE='test'
。 - furins