gpt4 book ai didi

python - 如何从python中的另一个类访问类变量?

转载 作者:行者123 更新时间:2023-11-28 22:55:54 25 4
gpt4 key购买 nike

我有以下代码段:

class A:
def __init__(self):
self.state = 'CHAT'

def method1(self):
self.state = 'SEND'

def printer(self):
print self.state


class B(A):
def method2(self):
self.method1()
print self.state

ob_B = B()
ob_A = A()
ob_B.method2()
ob_A.printer()

这给了我输出:

SEND
CHAT

我要它打印:

SEND
SEND

也就是当B.method2正在通过调用 self.method1 修改 self.state,我希望它修改 self.state = 'CHAT' 的现有值在A的例子中。我该怎么做?

最佳答案

实例作为第一个参数传递给每个方法,所以 self 就是实例。您正在设置实例属性而不是类变量。

class A:

def __init__(self):
A.state = 'CHAT'

def method1(self):
A.state = 'SEND'

def printer(self):
print A.state


class B(A):
def method2(self):
self.method1()
print B.state

ob_B = B()
ob_A = A()
ob_B.method2()
ob_A.printer()

SEND
SEND

关于python - 如何从python中的另一个类访问类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16234110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com