对Python Class之间函数的调用关系详解
假设有ClassA和ClassB两个类,ClassA中定义了a(),ClassB中定义了b().
现在我想在ClassB中调用ClassA中的函数a()。此处介绍三种调用方法:
方法一:
在ClassB中所定义的fuction()中声明ClassA的对象a,然后用对象a来调用ClassA的函数a().
最后在main中声明ClassB的对象b,让b调用该类中的fuction().
#!/usr/bin/envpython #-*-coding:utf-8-*- classA(): def__init__(self,parent): self.parent=parent defa(self): print'ClassA' classB(): deffuction(self): a=A(None) a.a() if__name__=='__main__': b=B() b.fuction()
方法二:
在ClassB的__init__()中将ClassA和ClassB产生关联,具体方法如下code。
首先在main中声明ClassA的对象a,然后将对象a传入到ClassB的__init__(self,object)中,这样self.object就指向ClassA。
就可以调用ClassA中的函数了。
#!/usr/bin/envpython #-*-coding:utf-8-*- classA(): def__init__(self,parent): self.parent=parent defa(self): print"ClassA" classB(object): def__init__(self,object): self.object=object self.object.a() defb(self): print"ClassB" if__name__=='__main__': a=A(None) b=B(a) b.b()
方法三:
直接在ClassB中声明ClassA的对象,该对象是ClassB的self.A_object。
#!/usr/bin/envpython #-*-coding:utf-8-*- classA(): defa(self): print"ClassA" classB(object): def__init__(self): self.A_object=A() self.A_object.a() defb(self): print"ClassB" if__name__=='__main__': b=B() b.b()
以上这篇对PythonClass之间函数的调用关系详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。