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


Posted in Python onJanuary 23, 2019

假设有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将文本转换成图片输出的方法
Apr 28 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
Python 读写文件的操作代码
Sep 20 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
Python Web版语音合成实例详解
Jul 16 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
python中数据库like模糊查询方式
Mar 02 Python
python ETL工具 pyetl
Jun 07 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 Python
Python源码解析之List
May 21 Python
浅谈python函数调用返回两个或多个变量的方法
Jan 23 #Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 #Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 #Python
python实现年会抽奖程序
Jan 22 #Python
在python中实现强制关闭线程的示例
Jan 22 #Python
Python实现简单石头剪刀布游戏
Jan 20 #Python
python石头剪刀布小游戏(三局两胜制)
Jan 20 #Python
You might like
wordpress之wp-settings.php
2007/08/17 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
nginx下安装php7+php5
2016/07/31 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
vue实现模态框的通用写法推荐
2018/02/26 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Django Highcharts制作图表
2016/08/27 Python
python 获取等间隔的数组实例
2019/07/04 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
Python定时器线程池原理详解
2020/02/26 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
班主任班级寄语大全
2014/04/04 职场文书
工程承包协议书
2014/10/20 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python