Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何初始化类内的特定类对象?_Python_Oop - Fatal编程技术网

Python 如何初始化类内的特定类对象?

Python 如何初始化类内的特定类对象?,python,oop,Python,Oop,例如,我有一个带有预定义值1、2、3的类号 class Number: one = Number(1) two = Number(2) three = Number(3) def __init__(self, val): self.value = val 但我得到了NameError:数字没有定义。我应该如何处理这个问题,或者正确的方法是什么?您的课程号没有定义 这就是你想做的吗 class Num: def __init__(self, val):

例如,我有一个带有预定义值1、2、3的类号

class Number:
  one = Number(1)
  two = Number(2)
  three = Number(3)

  def __init__(self, val):
    self.value = val

但我得到了NameError:数字没有定义。我应该如何处理这个问题,或者正确的方法是什么?

您的课程号没有定义

这就是你想做的吗

class Num:
    def __init__(self, val):
        self.value = val

class Number:
  one = Num(1)
  two = Num(2)
  three = Num(3)

  def __init__(self, val):
    self.value = val

你想迎合什么样的用例?@sameerasy实际上我有一个双类,我需要定义特殊的值,比如无穷大。@HenryDobert尝试使用具有无穷大值的类变量,比如(-1或其他东西)。您不能在该类定义中创建同一类的对象。@HenryDobert IIUC
Number.one=Number(1)
在该类定义后将产生您想要的效果。不,这只会给我们一个冗余类。这很公平,但它解决了您的问题。您不能递归地在类本身中插入类。