嗨,在我知道这两个对象的值是什么之前,我想将一个对象值定义为同一类的两个对象的值之和。 我需要做类似的事情:
`A=: B+C
B=10
C=20
print A`
我有一堂课
Set
,我正在尝试类似的事情:
class Set(object):
def __init__(self, w):
self.value=w
a=Set
c=a
a(10)
print c
但是c仍然是类而不是对象实例。有人可以帮助我吗?
a
是一个类 Set
,c
也是一个类。 a(10)
生成一个实例但立即丢弃它。您需要稍后创建实例并赋值。类似这样的东西:
class Sum(object):
def __init__(self, *values):
self.values = values
@property
def value(self):
return sum(v.value for v in self.values)
class Value(object):
def __init__(self, value=0):
self.value=value
b = Value()
c = Value()
a = Sum(b,c)
b.value = 10
c.value = 20
print a.value
一种方法是利用对象的dict。您可以使用类的
__dict__
功能。
class First:
a = "A"
b = "B"
c = "C"
class Second:
a = None
b = None
c = None
d = "D"
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
现在您可以使用 First 类实例初始化 Second 类,如下所示:
first = First()
second = Second(**(first.__dict__))
print(second.a)