Python:如何在另一个Object中使用First Class Object Constructor值

Ch *_*han 6 python

class MyClass(Object):

    def __init__(self, x=None):
        if x:
            self.x = x
    def do_something(self):
        print self.x
Run Code Online (Sandbox Code Playgroud)

现在我有两个对象

my_class1 = MyClass(x)

my_class2 = MyClass()

我想在调用my_class2对象时使用x

与其他语言一样支持静态变量,如java,c ++等.

Tad*_*eck 4

将其作为属性分配给类:

>>> class MyClass(object):
    def __init__(self, x=None):
        if x is not None:
            self.__class__.x = x
    def do_something(self):
        print self.x  # or self.__class__.x, to avoid getting instance property

>>> my_class1 = MyClass('aaa')
>>> my_class2 = MyClass()
>>> my_class2.do_something()
aaa
Run Code Online (Sandbox Code Playgroud)