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

yipeiwu_com7年前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学习笔记之open()函数打开文件路径报错问题

Python学习笔记之open()函数打开文件路径报错问题

要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。 >>> f = open('D:/test.tx...

TensorFlow实现模型评估

TensorFlow实现模型评估

我们需要评估模型预测值来评估训练的好坏。 模型评估是非常重要的,随后的每个模型都有模型评估方式。使用TensorFlow时,需要把模型评估加入到计算图中,然后在模型训练完后调用模型评...

跟老齐学Python之集合的关系

跟老齐学Python之集合的关系

冻结的集合 前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是: >>> f_set =...

Python3 入门教程 简单但比较不错

本文适合有Java编程经验的程序员快速熟悉Python 本文程序在windows xp+python3.1a1 测试通过. 本文提到的idle指python shell,即安装pytho...

基于Python对数据shape的常见操作详解

这一阵在用python做DRL建模的时候,尤其是在配合使用tensorflow的时候,加上tensorflow是先搭框架再跑数据,所以调试起来很不方便,经常遇到输入数据或者中间数据sha...