属性:合計二つの異なるクラスがファーストクラスに属性私はそのようにすることができ、私は2クラスを持っていると私は2番目のクラスを追加したいとしましょう
class first:
def __init__(self):
self.value_one = 2
self.value_two = 5
self.value_third = 7 #second class don't have that attribute
def sum_class(self, cls):
for attribute in cls.__dict__:
x = getattr(cls, attribute)
y = getattr(self, attribute)
setattr(self, attribute, x+y)
class second:
def __init__(self):
self.value_one = 3
self.value_two = 1
しかし、それはニシキヘビを見ていない任意のより良いありそれを行う方法?また
def sum(self, cls):
self.value_one += cls.value_one
self.value_two += cls.value_two
私の第三のクラスが持つ可能性があります:私は簡単なことでしたが、マッシーのコードのように一つ一つを追加したくないので、
私のクラスには、10の以上の属性を持っています
class ClassB:
def __init__(self):
self.value_one = 2
self.value_third = 3
私はまた、あなたが使用してそれを短くすることができ、私の最初のクラスに
[クラス間で変数にアクセスするにはどうすればよいですか?](http://stackoverflow.com/questions/19993795/how-would-i-access-variables-from-one-class-to-別のもの) – user2925795
単純な解決策は、これらの2つの属性を提供する共通基本クラスを持ち、新しい属性を追加するサブクラスとして 'first'を持つことです。基本的に 'second'を' first'の親クラスにし、 'sum_class'メソッドを' second'に移動します。より具体的な例がなければ、この解決策が意味をなさないかどうかは明らかではありません。 – Bakuriu
@ user2925795私は実際にclassA .__ dict__ + classB .__ dict__のようなものを探しています。それはちょうど私がすべてを追加したいいくつかの属性を合計します。 – ihsancemil