我想定义一个数组,它具有类范围/所有实例的访问权限。示例模块(卑诗省)地址:
class B:
glist = [] # array common to all instances
def __init__(self, number):
glist.append(number)
def printCurrentList():
print ('Current List:', glist)
class C:
def __init__(self):
b1 = B(7)
b2 = B(2)
b3 = B(8)
def printNow(self):
B.printCurrentList()
我从文件a.py中调用它,如下所示:
from bc import C
C().printNow()
获取错误为:
python a.py
Traceback (most recent call last):
File "a.py", line 2, in <module>
C().printNow()
File "/Users/manidipsengupta/pytorials/bc.py", line 16, in __init__
b1 = B(7)
File "/Users/manidipsengupta/pytorials/bc.py", line 7, in __init__
glist.append(number)
NameError: name 'glist' is not defined
正确的语法应该是什么?非常感谢。你知道吗
或者
或者
会有用的。我更喜欢前者,因为它更好地表明
glist
是一个静态类变量,而不是每个实例。你知道吗您可以通过类或实例访问类变量:
相关问题 更多 >
编程相关推荐