python中类的一些方法分析


Posted in Python onSeptember 25, 2014

本文实例分析了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 相关文章推荐
Python中用字符串调用函数或方法示例代码
Aug 04 Python
python数据封装json格式数据
Mar 04 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Python远程方法调用实现过程解析
Jul 28 Python
Python如何进行时间处理
Aug 06 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 Python
Python OpenCV实现图形检测示例详解
Apr 08 Python
python实现获取序列中最小的几个元素
Sep 25 #Python
python中bisect模块用法实例
Sep 25 #Python
python实现给字典添加条目的方法
Sep 25 #Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 #Python
python对字典进行排序实例
Sep 25 #Python
python实现在无须过多援引的情况下创建字典的方法
Sep 25 #Python
python迭代器实例简析
Sep 25 #Python
You might like
新52大事件
2020/03/03 欧美动漫
239军机修复记
2021/03/02 无线电
PHP 处理图片的类实现代码
2009/10/23 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP错误处理函数
2016/04/03 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
jquery实现metro效果示例代码
2013/09/06 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
解析JavaScript中delete操作符不能删除的对象
2013/12/03 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python根据成绩分析系统浅析
2019/02/11 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
大学生职业生涯规划书模版
2013/12/30 职场文书
财务总监管理职责范文
2014/03/09 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
谢师宴邀请函
2015/02/02 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
ICOM R71E和R72E图文对比解说
2022/04/07 无线电
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis