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程序设计的学习有一定的借鉴价值。

相关文章

  • 跟老齐学Python之大话题小函数(1)

    跟老齐学Python之大话题小函数(1)

    今天本讲要讲什么呢?今天要介绍几个python中的小函数,这几个函数都是从函数式编程借鉴过来的,它们就是:filter、map、reduce、lambda、yield 有了它们,最大的好处是程序更简洁
    2014-10-10
  • python使用正则表达式匹配反斜杠\遇到的问题

    python使用正则表达式匹配反斜杠\遇到的问题

    在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”),下面这篇文章主要给大家介绍了关于python使用正则表达式匹配反斜杠\的相关资料,需要的朋友可以参考下
    2022-09-09
  • Python3中正则模块re.compile、re.match及re.search函数用法详解

    Python3中正则模块re.compile、re.match及re.search函数用法详解

    这篇文章主要介绍了Python3中正则模块re.compile、re.match及re.search函数用法,结合实例形式较为详细的分析了re模块 中re.compile、re.match及re.search函数的功能、参数、具体使用技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • Django中如何用xlwt生成表格的方法步骤

    Django中如何用xlwt生成表格的方法步骤

    这篇文章主要介绍了Django中如何用xlwt生成表格的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • pandas如何给DataFrame新增列并赋值

    pandas如何给DataFrame新增列并赋值

    这篇文章主要介绍了pandas如何给DataFrame新增列并赋值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 关于Qt6中QtMultimedia多媒体模块的重大改变分析

    关于Qt6中QtMultimedia多媒体模块的重大改变分析

    如果您一直在 Qt 5 中使用 Qt Multimedia,则需要对您的实现进行更改。这篇博文将尝试引导您完成最大的变化,同时查看 API 和内部结构
    2021-09-09
  • Python3实现的判断回文链表算法示例

    Python3实现的判断回文链表算法示例

    这篇文章主要介绍了Python3实现的判断回文链表算法,结合实例形式分析了Python3针对链表是否为回文链表进行判断的相关算法实现技巧,需要的朋友可以参考下
    2019-03-03
  • 经验丰富程序员才知道的8种高级Python技巧

    经验丰富程序员才知道的8种高级Python技巧

    这篇文章主要介绍了经验丰富程序员才知道的8种高级Python技巧,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 使用Flask-Login模块实现用户身份验证和安全性

    使用Flask-Login模块实现用户身份验证和安全性

    当你想要在你的Flask应用中实现用户身份验证和安全性时,Flask-Login这个扩展将会是你的最佳伙伴,它提供了一组简单而强大的工具来处理,下面我们就来看看具体的操作方法吧
    2023-08-08
  • python处理json文件的四个常用函数

    python处理json文件的四个常用函数

    这篇文章主要介绍了python处理json文件的四个常用函数,主要包括json.load()和json.dump()及json.loads()还有json.dumps(),需要的朋友可以参考一下
    2022-07-07

最新评论