在Python内声明一个类的一个实例(Declaring a class with an insta

2019-09-17 16:01发布

也许标题有点搞砸了,但有没有一种方法,使在Python同一类中的类的实例?

事情是这样的:

class Foo:
    foo = Foo()

我知道,解释说,富不声明,但有没有办法实现这一目标?

更新:

这就是我想要做的事:

class NPByteRange (Structure): 
    _fields_ = [ ('offset', int32), 
                 ('lenght', uint32), 
                 ('next', POINTER(NPByteRange)) ]

Answer 1:

解释只有头脑,如果你尝试做在上下文Foo未声明。 有背景在哪里。 最简单的例子是在一个方法:

>>> class Beer(object):
...   def have_another(self):
...     return Beer()
... 
>>> x=Beer()
>>> x.have_another()
<__main__.Beer object at 0x10052e390>

如果其重要的对象是一个属性,你可以使用property内置。

>>> class Beer(object):
...   @property
...   def another(self):
...     return Beer()
... 
>>> guinness=Beer()
>>> guinness.another
<__main__.Beer object at 0x10052e610>

最后,如果是真正必要的,它是一性质,那么, 你能做到这一点,太 。



文章来源: Declaring a class with an instance of it inside in Python