python中类的一些方法分析

 更新时间:2014年09月25日 16:34:11   投稿:shichen2014  
这篇文章主要介绍了python中类的一些方法分析,实例讲述了Python中子类调用父类时继承的方法问题,需要的朋友可以参考下

本文实例分析了python中类的一些方法,分享给大家供大家参考。具体分析如下:

先来看看下面这段代码:

class Super: 
  def delegate(self): 
    self.action() 
     
class Provider(Super): 
  def action(self): 
    print 'in Provider.action' 
     
x = Provider() 
x.delegate() 

本文实例运行环境为Python2.7.6

运行结果如下:

in Provider.action 

在Super类中定义delegate()方法,delegate中调用self.action,在Provider子类中实现action方法。子类调用父类的delegate方法时,实际是调用自己的action方法。。

总之一句话:

这里子类实现了父类delegate中所期望的action方法

再来看看下面这段代码:

class Super: 
  def delegate(self): 
    self.action() 
  def method(self): 
    print 'super method' 
   
class Inherit(Super): 
  pass 
 
class Replace(Super): 
  def method(self): 
    print "replace method" 
     
class Extended(Super): 
  def method(self): 
    print 'in extended class' 
    Super.method(self) 
    print 'out extended class' 
   
class Provider(Super): 
  def action(self): 
    print 'in Provider.action' 
     
x = Inherit() 
x.method() 
print '*'*50 
 
y = Replace() 
y.method() 
print '*'*50 
 
z = Extended() 
z.method() 
print '*'*50 
 
x = Provider() 
x.delegate() 

运行结果如下:

super method 
************************************************** 
replace method 
************************************************** 
in extended class 
super method 
out extended class 
************************************************** 
in Provider.action 

分别继承父类的方法,替换父类的方法,扩展了父类的方法
Super类定义了delegate方法并期待子类实现action函数,Provider子类实现了action方法.

相信本文所述对大家Python程序设计的学习有一定的借鉴价值。

相关文章

  • Python3自动生成MySQL数据字典的markdown文本的实现

    Python3自动生成MySQL数据字典的markdown文本的实现

    这篇文章主要介绍了Python3自动生成MySQL数据字典的markdown文本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 如何基于python操作excel并获取内容

    如何基于python操作excel并获取内容

    这篇文章主要介绍了如何基于python操作excel并获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python 中10进制数与16进制数相互转换问题

    Python 中10进制数与16进制数相互转换问题

    这篇文章主要介绍了Python中10进制数与16进制数相互转换,在Python中,我们可以使用内置的hex()函数将10进制数转换为16进制数,需要的朋友可以参考下
    2023-05-05
  • Python 获取中文字拼音首个字母的方法

    Python 获取中文字拼音首个字母的方法

    今天小编就为大家分享一篇Python 获取中文字拼音首个字母的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python字典操作得力助手Get()函数的使用

    Python字典操作得力助手Get()函数的使用

    在Python编程中,get()函数是字典(Dictionary)对象中非常有用的函数,本文将详细介绍get()函数的用法及示例代码,感兴趣的可以了解一下
    2023-11-11
  • python获取命令行输入参数列表的实例代码

    python获取命令行输入参数列表的实例代码

    今天小编就为大家分享一篇python获取命令行输入参数列表的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python OpenCV GrabCut使用实例解析

    python OpenCV GrabCut使用实例解析

    这篇文章主要介绍了python OpenCV GrabCut使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 独立进程使用django模型及django.setup()使用

    独立进程使用django模型及django.setup()使用

    这篇文章主要介绍了独立进程使用django模型(django.setup()使用),它提供了一种简单且高效的方式来利用Django强大的功能,并使你的代码更易于维护和扩展,需要的朋友可以参考下
    2023-07-07
  • Python和GO语言实现的消息摘要算法示例

    Python和GO语言实现的消息摘要算法示例

    这篇文章主要介绍了Python和GO语言实现的消息摘要算法示例,本文讲解了python消息摘要示例、go语言消息摘要示例及各自的运行效果,需要的朋友可以参考下
    2015-03-03
  • python namedtuple函数的使用

    python namedtuple函数的使用

    今天介绍collections里面的一个好用的小函数: namedtuple函数(不创类而可以拥有类的便利),例如可以使用object.attribute
    2021-06-06

最新评论