如何将变量从一个 class 传递到 Python 中的另一个?

How can I pass a variable from one class to another in Python?

我正在创建一个小型库存管理应用程序,我想从 ClassA 访问 ClassB 中的变量

ClassA(Screen):
     def test1(self):
          self.username = "Tonny"

ClassB(Screen):
     def test2(self):
          print(ClassA.test1.username)

这段代码不起作用,我已经试过了:

ClassA(Screen):
     def test1(self):
          self.username = "Tonny"
          return self.username

ClassB(ClassA,Screen):
     ClassA = ClassA()
     def test2(self):
          print(ClassA.test1())

第二段代码应该可以工作,但由于屏幕管理器的原因我无法使用它,当我在 class.

中添加另一个参数时它立即停止工作

有人知道我该怎么做吗?

您可以将 ClassA 的实例发送到 ClassB 以便 ClassB 访问它:

class ClassA(object):
    def __init__(self):
        self.username = "Tonny"
        
class ClassB(ClassA):
    def __init__(self, class_a):
        self.username = class_a.username

    def getPassedName(self):
        return self.username

object1 = ClassA()
object2 = ClassB(object1)
username = object2.getPassedName()
print(username)

有关详细信息,请查看此 question

self.x 表示变量 x 仅在 class 定义内起作用。 试试这个:定义一个class A(object),在init()

之前定义x=1
class A(object):
    x = 1
    __init__(self)
    .....

你可以像 A.x 一样称呼 x。