【问题标题】: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])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-03
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2022-06-26
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多