我是否可以从父类继承两级或更高级别,而不让直接父类在python中继承?
我想知道是否有可能做如下事情我是否可以从父类继承两级或更高级别,而不让直接父类在python中继承?,python,inheritance,Python,Inheritance,我想知道是否有可能做如下事情 class A: a = 1 class B: a = 2 class C(A): pass x = A.B.C() print(x.a) 在这个场景中,我希望它打印1 我在这里看到过其他文章试图从父类继承,但我试图阻止类B继承父类中的所有内容。这是一个类的组织问题,如果我像这样放置类而不是创建非嵌套类,那么出于我的需要,它的组织更加直观。如果需要更多信息,请告
class A:
a = 1
class B:
a = 2
class C(A):
pass
x = A.B.C()
print(x.a)
在这个场景中,我希望它打印1
我在这里看到过其他文章试图从父类继承,但我试图阻止类B继承父类中的所有内容。这是一个类的组织问题,如果我像这样放置类而不是创建非嵌套类,那么出于我的需要,它的组织更加直观。如果需要更多信息,请告诉我 我真的不知道如何更好地表达它,所以这里是一个更好的图片,我已经在工作
class TopLevelClass:
class MidLevelClass:
someVar = 'SomeText'
class SiblingToMidLevel:
class Child1:
class Child2(MidLevelClass):
pass
最后,我想做的是能够从Child2类访问someVar变量。这不是继承,也不是有效的Python。请更清楚地说明您试图实现的目标。我试图阻止类B继承父类中的所有内容-那么B不应从A继承。请创建一个包含A和B共同需要的部分的基类,或者如果您希望C从A和B继承,请使用多类继承:类CA,B:。在任何情况下,您都不希望像这样嵌套类。在类中定义类不是继承类的一种方式,只是范围问题。“这在大多数情况下都不太有用。”马修特雷弗谢谢你的建议。我不想把这些类嵌套起来。我在一个小组里做一些事情,而这正是这个小组想要做的事情。@alphamonkey,真糟糕。这些类是实例化的吗?我能想到的唯一方法是向Child2添加def someVarself:return MidLevelClass.someVar并将其装饰为属性。你的团队可能应该仔细阅读组合的概念,而不是使用奇怪的嵌套。