假设有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