我的代码需要有一个内部类,我想创建这个内部类的实例而不创建外部类的实例。
如何在python中这样做?在java中我们可以将内部类定义为静态但我不知道如何在python中使内部类静态化。我知道对于方法我们可以使用@staticmethod
装饰器。
class Outer:
def __init__(self):
print 'Instance of outer class is created'
class Inner:
def __init__(self):
print 'Instance of Inner class is created'
答案 0 :(得分:7)
类Inner在类Outer的定义期间定义,之后它存在于其类命名空间中。所以只需Outer.Inner()
。
答案 1 :(得分:1)
你不需要做任何特别的事情。请直接参考:
instance = Outer.Inner()
答案 2 :(得分:0)
不确定这是你在找什么。您可以将其创建为类变量或全局(模块)变量
class Outer:
def __init__(self):
print 'Instance of outer class is created'
class Inner:
def __init__(self):
print 'Instance of Inner class is created'
i = Inner() # as class varaible
i1 = Outer.Inner() # as module varaible