Python类间函数调用的三种实现方式

Ruby
Ruby
发布时间:2026-10-13 | 2人浏览过
原创

本文详解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 类间函数调用关系的详解内容分享完毕,希望能为读者提供参考与帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表