在python方法中将自己的类对象作为参数传递

时间:2019-05-06 12:15:13

标签: python python-2.7 class

我碰巧遇到了使用以下代码的代码:

class example:
    def __init__(self):
        .....

    def ex_m1(self, exinst):
        .....
        exinst.ex_m2(exinst)

    def ex_m2(self, exinst):
        self.inst = exinst
        .....
        self.inst.ex_m3()

    def ex_m3(self):
        .....


test = example()
test.ex_m1(test)

代码作者打算在这里实现什么?上面的与下面的不是吗?

class example:
    def __init__(self):
        .....

    def ex_m1(self):
        .....
        self.ex_m2()

    def ex_m2(self):
        .....
        self.ex_m3()

    def ex_m3(self):
        .....


test = example()
test.ex_m1()

如果它们不相同,它们会有什么不同?

1 个答案:

答案 0 :(得分:1)

原始代码对self.exinst中存储的类的第二个实例(而不是当前实例本身)进行某些工作,而您的修订版仅适用于当前实例。

这是您可以在链表中看到的一种模式。