将对象初始化为全局对象

时间:2016-12-06 14:27:07

标签: python global

是否有一种聪明的方法将对象作为全局对象?所以当我创建一个像:

这样的对象时
class A(object):
    def __init__(self):
        global self
        super(A, self).__init__()

这显然不起作用,但我很好奇是否有一个很好的方法来处理这个问题,如烧瓶中的g

1 个答案:

答案 0 :(得分:1)

这是可能的,不能使用self,因为self是构造函数中的参数。

class A(object):
    def __init__(self):
        global instance

        instance = self
        super(A, self).__init__()


A()
instance
<__main__.A at ...>

这可能只用于真正非常边缘的情况,我没有看到任何有意义的情况。

请注意,这仅在创建实例时有效。如果您不想要实例而不是原始类,则可以将类名标记为全局:

global A
class A(object):
    pass