【问题标题】:How to use variable in python __init__ inside the class如何在类内的python __init__中使用变量
【发布时间】:2021-03-21 11:50:36
【问题描述】:
考虑下面的代码:我有一个名为 X 的类。这个类是用一些初始值初始化的。在类中,我想用类的 initvalues 来启动队列数据结构。由于此队列稍后将在类中的许多其他函数中使用,因此它需要具有元素。在这里,我们不能使用 initvalues,因为会显示错误。我怎样才能做到这一点?谢谢
class X :
def __init__(self, initvalues):
self.initvalues=initvalues
queue= dequeu(initivalues)
【问题讨论】:
标签:
python
python-3.x
oop
queue
【解决方案1】:
initivalues 是类X 的一个属性。为了访问这个属性,你必须通过它的类来调用它。尝试将queue= dequeu(initivalues) 更改为queue= dequeu(X.initivalues)。
【解决方案2】:
要明确,initvalues 不是类属性,它是类的实例属性。换句话说,它只能通过 X 类的实例访问,而不能通过 X 类本身访问。
例子:
from collections import deque
class X:
def __init__(self, initvalues):
self.initvalues=initvalues
one_x = X([1, 2, 3])
queue= deque(one_x.initvalues)
print(queue)
输出:
deque([1, 2, 3])