如何将变量从一个 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。
我正在创建一个小型库存管理应用程序,我想从 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=1class A(object):
x = 1
__init__(self)
.....
你可以像 A.x 一样称呼 x。