多个类的一个常量值

时间:2016-02-01 15:37:06

标签: python oop python-3.x global

让我们说我有六个不同的类,其中三个应该使用相同的常量值。我们能做什么?我们要么:

  • 定义为全局变量

    for(j = 0; j < LENGTH; j++)
    
  • 为1个类定义为类级别并将其提供给另一个类:

    A = 1
    
    class B:
        def __init__(self):
            self.a = A
    
    class C:
        def __init__(self):
            self.a = A
    
    class D:
        def __init__(self):
            self.a = A
    

我刚刚编造的第二种方式,对我来说它很脏而且不方便。有没有办法避免使用全局变量?

2 个答案:

答案 0 :(得分:3)

使用类继承:

class Holder:
    a = 4


class A(Holder):
    pass

print A().a

答案 1 :(得分:0)

您可以使用继承,使用B作为基类

class B:
    A = 1
    def __init__(self):
        self.b = 2

class C(B):
    def __init__(self):
        B.__init__(self)
        self.a = B.A
        self.b = 3

b = B()
c = C()
print c.a