对Python Class之间函数的调用关系详解

yipeiwu_com6年前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 Class之间函数的调用关系详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python中contextlib上下文管理模块的用法

咱们用的os模块,读取文件的时候,其实他是含有__enter__ __exit__ 。  一个是with触发的时候,一个是退出的时候。 with file('nima,'r...

对python3 sort sorted 函数的应用详解

python3 sorted取消了对cmp的支持。 python3 帮助文档: sorted(iterable,key=None,reverse=False) key接受一个函数,...

python同时替换多个字符串方法示例

本文介绍了python同时替换多个字符串方法示例,分享给大家,具体如下: import re words = ''' 钟声响起归家的讯号 在他生命里 仿佛带点唏嘘...

Python中pygal绘制雷达图代码分享

Python中pygal绘制雷达图代码分享

pygal的安装和简介,大家可以参阅《pip和pygal的安装实例教程》,下面看看通过pygal实现绘制雷达图代码示例。 雷达图(Radar): import pygal rada...

Python函数的参数常见分类与用法实例详解

本文实例讲述了Python函数的参数常见分类与用法。分享给大家供大家参考,具体如下: 1.形参与实参是什么? 形参(形式参数):指的是 在定义函数时,括号内定义的参数,形参其实就是变量名...