对Python Class之间函数的调用关系详解
时间:2021-10-16 08:01:35|栏目:Python代码|点击: 次
假设有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产生关联,具体方法如下code。
首先在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实现FTP文件上传与下载操作(ftp&sftp协议)
栏 目:Python代码
本文地址:http://www.codeinn.net/misctech/180121.html






