gpt4 book ai didi

python - 在类内部分配之前引用的局部变量

转载 作者:太空狗 更新时间:2023-10-30 02:32:16 25 4
gpt4 key购买 nike

情况是这样的

class Person(object):
NumRid = 1
def __init__(self, name, rid = NumRid):
self.name = name
self.rid = rid
NumRid += 1

class Investor(Person):
pass

然后我进入交互式 python session ,并输入 from file import *然后 投资者('鲍勃')它告诉我局部变量 NumRid 在赋值之前被引用,位于 NumRid += 1

据我通过谷歌搜索得知,NumRid 应该在类的本地命名空间中,并且可以从类函数访问....那么这是怎么回事?我需要声明两者都是全局性的吗?还是我可以输入一个神奇的词来让它在类命名空间中查找 NumRid(如果有的话)?

最佳答案

__init__ 函数中,没有 NumRid,但您试图递增它。

它应该是 self.NumRid += 1 如果它是一个实例变量,或者 Person.NumRid += 1 如果它是一个类变量(或者,防止重命名类的 future 证明:self.__class__.NumRid += 1)。

关于python - 在类内部分配之前引用的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com