繁体   English   中英

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

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

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

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)

有关更多信息,请查看此问题

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

class A(object):
    x = 1
    __init__(self)
    .....

您可以像 Ax 一样处理 x

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM