假设有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().
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/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中的函数了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/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。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/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 Class之间函数的调用关系详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/SUMMER__SUN/article/details/51016155