Python类间函数调用的三种实现方式
本文详解Python中Class A与Class B之间函数调用的三种常见方式。包括在B的方法内实例化A、通过B的构造函数传入A实例、以及在B内部直接实例化A。每种方法均提供代码示例与逻辑分析,帮助开发者理解不同场景下的类交互策略。
假设存在两个类:Class A 和 Class B。其中,Class A 内部定义了方法 a(),而 Class B 内部定义了方法 b()。
接下来讨论如何在 Class B 中调用 Class A 定义的方法 a()。本文将介绍三种可行的调用实现方式。
第一种方法:
在 Class B 定义的方法 fuction() 内部,实例化 Class A 的对象 a,随后通过该对象 a 来调用 Class A 的方法 a()。
最后,在 main 函数中实例化 Class B 的对象 b,并调用 b 对象中的 fuction() 方法以执行调用逻辑。
#!/usr/bin/env python # -*- coding: utf-8 -*- class A(): def __init__(self,parent): self.parent = parent def a(self): print 'Class A' class B(): def fuction(self): a = A(None) a.a() if __name__ == '__main__': b = B() b.fuction()
第二种方法:
在 Class B 的 __init__() 构造函数中建立 Class A 与 Class B 之间的关联,具体实现代码如下。
首先在 main 函数中实例化 Class A 的对象 a,随后将该对象 a 作为参数传入 Class B 的 __init__(self, object) 构造函数中。此时,self.object 属性将指向 Class A 的实例。
通过上述关联,即可直接调用 Class A 中的方法。
#!/usr/bin/env python # -*- coding: utf-8 -*- class A(): def __init__(self,parent): self.parent = parent def a(self): print "Class A" class B(object): def __init__(self,object): self.object = object self.object.a() def b(self): print "Class B" if __name__ == '__main__': a = A(None) b = B(a) b.b()
第三种方法:
直接在 Class B 内部实例化 Class A 的对象,并将该对象赋值给 Class B 的实例属性 self.A_object。
#!/usr/bin/env python # -*- coding: utf-8 -*- class A(): def a(self): print "Class A" class B(object): def __init__(self): self.A_object = A() self.A_object.a() def b(self): print "Class B" if __name__ == '__main__': b = B() b.b()
以上关于 Python 类间函数调用关系的详解内容分享完毕,希望能为读者提供参考与帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









