这是情况
class Person(object):
NumRid = 1
def __init__(self, name, rid = NumRid):
self.name = name
self.rid = rid
NumRid += 1
class Investor(Person):
pass
然后我进入交互式 python 会话,然后输入from file import *
Investor('Bob') ,它告诉我在赋值之前引用了局部变量 NumRid,在NumRid += 1
.
据我从谷歌搜索得知,NumRid 应该在类的本地命名空间中,并且可以从类函数中访问......那么这是怎么回事?我需要声明两者都是全球性的吗?或者我可以输入一个神奇的词来让它在类命名空间中查找 NumRid(如果有的话)?