当我想访问继承类的类变量时遇到了一个问题,继承类的实例变量与类变量的实例变量同名。
当我想要打印那个变量时,输出来自打印实例变量。
我只是想知道在这种情况下如何打印classB
"classvar1"
的class变量。你知道吗
class A:
classvar1 = "I am a class variable in class A"
def __init__(self):
self.var1 = "I am inside class A's constructor"
self.classvar1 = "Instance var in class A"
class B(A):
classvar1 = "I am in class B"
def __init__(self):
self.var1 = "I am inside class B's constructor"
self.classvar1 = "Instance var in class B"
a = A()
b = B()
print(b.classvar1)
我期望输出是
"I am in class B"
但我有
"Instance var in class B"
就像胡安帕.阿里维拉加在评论中说,你将两个变量命名为相同的,如果你将“I am in class B/A”更改为不同的变量名(比如,classvarA和classvarB),它的工作方式与你所希望的一样。你知道吗
让类变量和实例变量具有相同的名称并不是一个好主意,但是要回答您的问题,您可以使用
或者
或者更好
相关问题 更多 >
编程相关推荐