您的位置:首页 > 编程语言 > Python开发

python-继承类执行的流程

2016-10-15 18:17 302 查看
在读
python数据机构与算法
, 发现了下面这个例子, 之前没有碰到过, 记录下来

In [17]: class A:
def f(self):
self.g()
def g(self):
print 'hello world'
....:

In [18]:

In [18]: class B(A):
def g(self):
print 'b is run'
....:

In [19]:

In [19]: b = B()

In [20]: b.f()
b is run

In [21]:

b.f()
的执行过程是:

由于b是B的实例对象, 所以首先在B类中查找f

没有的话去父类A找, 找到后执行f函数

接着在self.f函数中遇到
self.g()


由于self的值是一个类C的实例对象, 所以确定g的工作再从调用对象所属属性C类开始进行

由于C类里面有函数g的定义, 所以应该调用C类里面的self.g(),输出
b is run


这种通过动态约束确定调用关系的函数称为
虚函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: