假设我有一个方法和一个类:
def my_method(self):
self.mark = 'Knopfler'
class MySubclass(object)
my_method = my_method
我可以想出3到4种方法在另一个类中使用我的方法。在
案例1: 如果我想在类似这样的另一个类中访问我的\u方法:
^{pr2}$我是否正确地认为这将允许我在如下实例上使用我的\u方法:
my_inst = MyClass()
my_inst.my_subclass.my_method()
这看起来像我期望的那样工作,但是如果我这样做: 案例2:
class MyClass(object):
my_subclass = MySubclass
my_inst = MyClass()
my_inst2 = MyClass()
my_inst.my_subclass.my_method()
据我所知,前一行将my_method
应用于my_inst
和{
案例3: 另一种方法是将mymethod作为MyClass的属性:
class MyClass(object):
my_method = my_method
据我所知,当我有多个MyClass实例时,应用我的方法只会影响它绑定到的实例。对吗?在
案例4(最后一个):
class MyClass(object):
def __init__(self):
self.my_method = my_method
最后一个方法的问题是,它似乎将我的方法创建为一个未绑定的方法,这不适合我的需要。有没有办法在类定义中添加现有方法作为绑定实例方法?在
好吧。仅此而已。请告诉我这四种情况中哪一种最适合使用。谢谢。在
对于上一个例子,可以使用
MethodType
将方法绑定到类实例:相关问题 更多 >
编程相关推荐