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 时间操作例子和时间格式化参数小结
Apr 24 Python
python网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
提升Python程序运行效率的6个方法
Mar 31 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
django中url映射规则和服务端响应顺序的实现
Apr 02 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
python selenium xpath定位操作
Sep 01 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
Django视图类型总结
Feb 17 Python
python实现不同数据库间数据同步功能
Feb 25 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
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
python直接访问私有属性的简单方法
2016/07/25 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
python实现俄罗斯方块
2018/06/26 Python
python计算列表内各元素的个数实例
2018/06/29 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
高中自我鉴定
2013/12/20 职场文书
《草虫的村落》教学反思
2014/02/16 职场文书
班主任寄语大全
2014/04/04 职场文书
村长贪污检举信
2014/04/04 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
初中成绩单评语
2014/12/29 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python