Python将一个类的属性继承给另一个类

Python将一个类的属性继承给另一个类,python,class,inheritance,Python,Class,Inheritance,我有三个不同的类和一些变量 class A(object): a = "Hello" b = "World" class B(object): a = "Hello" b = "World" class C(object): a = "Hello" b = "World" 如果所有类都通用a=“Hello”和b=“World”,如何将这些变量声明为全局类并将属性继承到这些表中 我试过用这种方法,但没能找到解决办法 class G(object

我有三个不同的类和一些变量

class A(object):
    a = "Hello"
    b = "World"

class B(object):
    a = "Hello"
    b = "World"

class C(object):
    a = "Hello"
    b = "World"
如果所有类都通用
a=“Hello”
b=“World”
,如何将这些变量声明为全局类并将属性继承到这些表中

我试过用这种方法,但没能找到解决办法

class G(object):
    a = "Hello"
    b = "World"

class A(object, G):
    pass

在这里,我试图继承类的整个属性。请提前帮我解决这个问题,谢谢。

将class
A定义为:

class A(G):
    pass

重复基类
对象
的问题在于,它会创建基类解析冲突,因为
a
继承了它两次:一次直接继承,一次通过类
G
间接继承。您就是这样做的。如果你有什么不明白的地方,或者我做错了什么,请在评论中告诉我

class A(object):
    a = "Hello"
    b = "World"

class B(A):
    pass

class C(B):
    pass

c = C()
print(c.a,c.b)
打印Hello World


你不必每次都重新声明a和b,否则你首先为什么要继承。如果声明它们,基本上就是用子变量覆盖父变量。如果你这样做,你可以用Suffor()来调用父的一个。

你做了什么错误?G的可能副本已经是一个对象,你可以考虑不使用继承(并且引入额外的<代码> G < /Class >类),但是只使这两个变量为全局。谢谢AbjeJET,我从你的答案中得到了答案。感谢lota,无需再次使用相同的值声明a和b。你已经继承了!如果要为每个类存储新值,但仍然可以使用super()调用父类的类值,那么再次声明的唯一原因是这个答案非常容易误导。这是一个关于如何继承的糟糕例子。编辑了答案。很抱歉再次声明变量。这就是我打算做的,但是我忘记了删除额外的声明。您的示例类似于Abhijeetk431答案,非常感谢。是的,但请注意,您不必重新声明a和b!不客气!
class A(object):
    a = "Hello"
    b = "World"

class B(A):
  something

class C(B):
  something

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