Python 将属性从一个类对象传递到另一个类对象
我有两个类,每个类有两个方法。在第一个类的方法中,它们创建第二个类的实例,然后调用第二个类的方法Python 将属性从一个类对象传递到另一个类对象,python,class,attributes,Python,Class,Attributes,我有两个类,每个类有两个方法。在第一个类的方法中,它们创建第二个类的实例,然后调用第二个类的方法 问题是,在第二个类中,一个方法使用同一类中另一个方法返回的属性。当第一类方法调用第二类方法时,不会传递等效属性 我的限制是,我不能修改第一个类,也不能修改第二个类的参数。以下是代码的简化版本: 在类Two()之外创建temp变量。然后使用类Two()中的global关键字访问它。现在,最后打印所有结果。看起来您希望Two的每个实例都有一个One上的实例作为属性。尝试在构造函数中实例化(\uuu
在类
Two()之外创建temp
变量。然后使用类Two()
中的global
关键字访问它。现在,最后打印所有结果。看起来您希望Two
的每个实例都有一个One
上的实例作为属性。尝试在构造函数中实例化(\uuuu init\uuu
):
class One():
def f1(self,x,y):
self.model=(x+y)
return self.model
def f2(self,z):
return self.model*z
class Two():
def f1(self,x2,y2):
temp=One()
return temp.f1(x2,y2)
def f2(self,z2):
return temp.model*z2
object1=One()
object1.f1(2,3)
object1.f2(4)
object2=Two()
object2.f1(1,2)
object2.f2(9)
class One():
def f1(self,x,y):
self.model=(x+y)
return self.model
def f2(self,z):
return self.model*z
temp=One()
class Two():
global temp
def f1(self,x2,y2):
return temp.f1(x2,y2)
def f2(self,z2):
return temp.model*z2
object1=One()
print(object1.f1(2,3))
print(object1.f2(4))
object2=Two()
print(object2.f1(1,2))
print(object2.f2(9))
class Two():
def __init__(self):
self.one = One()
def f1(self,x2,y2):
return self.one.f1(x2,y2)
def f2(self,z2):
return self.one.model*z2