1
binux 2015-03-01 11:03:40 +08:00
既然是『大部分』而不是『全部』,除了挨个拷贝,还能怎么着?
或许你可以写一个 attributes list 用 getattr, setattr |
2
9hills 2015-03-01 11:11:27 +08:00 via iPhone
继承?
|
3
9hills 2015-03-01 11:14:18 +08:00 via iPhone
或者 组合。 两个类的成员大部分相同,试着抽象下
|
4
ruoyu0088 2015-03-01 13:38:16 +08:00
请帖程序
|
5
tkliuxing 2015-03-01 23:09:41 +08:00
talk is cheap show me the code
|
6
john990 OP |
7
ruoyu0088 2015-03-02 11:34:56 +08:00
field1,2是在类下面定义的?还是在__init__中设置的?
|
9
repus911 2015-03-02 14:57:00 +08:00
如果你确定两边有一致性的话
可以用__dict__查出A全部属性,然后检查B有没有,有的话赋值 a = A() b = B() for key in a.__dict__: if key.statswith('__'): continue if callable(getattr(a, key, None)): continue setattr(b, key, getattr(a, key, None)) |
10
ruoyu0088 2015-03-02 16:05:41 +08:00
类下面定义的属性是类的属性,不是实例的,你确定这是你想要的吗,你还是把完整的程序贴出来。
|