所以我想定义一个类A
看起来像:
在a.py
:
class A:
def __init__(self):
pass
def some_method_in_a(self):
pass
现在我想在b.py
. 好像:
continue define class A:
def some_method_in_b_but_bellows_classA(self):
pass
那么有什么简单的方法可以做到这一点吗?
我相信您通常会使用继承来完成此操作。
您定义通用类,您的“A”类从中继承属性或方法。就像是:
/b.py:
class generalObjectLikeA:
def some_method_in_b_but_bellows_classA(self):
pass
/a.py:
class A(b.generalObjectLikeA):
def __init__(self):
pass
def some_method_in_a(self):
pass
如果你因为某些原因不想使用继承(比如猴子补丁),函数和类是python中的普通对象,你可以动态地改变它们。
class A(object):
pass
a = A()
def bar(self):
print id(self)
A.foo = bar
a.foo()
b = A()
b.foo()
参考: