现在是在构造方法里挨个拷过去,有更好的方法吗?
|
binuxMar 1, 2015
1
既然是『大部分』而不是『全部』,除了挨个拷贝,还能怎么着?
或许你可以写一个 attributes list 用 getattr, setattr |
|
9hillsMar 1, 2015 via iPhone
2
继承?
|
|
9hillsMar 1, 2015 via iPhone
3
或者 组合。 两个类的成员大部分相同,试着抽象下
|
|
ruoyu0088Mar 1, 2015
4
请帖程序
|
|
tkliuxingMar 1, 2015
5
talk is cheap show me the code
|
|
6
|
|
ruoyu0088Mar 2, 2015
7
field1,2是在类下面定义的?还是在__init__中设置的?
|
|
repus911Mar 2, 2015
9
如果你确定两边有一致性的话
可以用__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)) |
|
ruoyu0088Mar 2, 2015
10
类下面定义的属性是类的属性,不是实例的,你确定这是你想要的吗,你还是把完整的程序贴出来。
|