Python面向对象程序设计示例小结


Posted in Python onJanuary 30, 2019

本文实例讲述了Python面向对象程序设计。分享给大家供大家参考,具体如下:

示例1:

#encoding:utf-8
'''example 1
class test:
  def __init__(self,year,**arg):
    self.year = year
    self.args = arg
  def kaka(self):
    if isinstance(self.year,str):
      print 'input\'s year is a string! Error'
    elif isinstance(self.year,int):
      a = self.year%4
      print a
    else:
      print 'Error!'
  def deal_arg(self):
    # for v in self.args:
    #  print '\n====================\n',v
    for k in self.args:
      print str(k)+'\tvalue is '+str(self.args[k])
    print self.args
a = test(2014,a=123,b=321)
a.kaka()
a.deal_arg()

运行结果:

2
a value is 123
b value is 321
{'a': 123, 'b': 321}

示例2:

#encoding:utf-8
'''example 2'''
class test:
  '这是一个测试的基类'
  def __init__(self,test):
    self.test = test
  '这是一个测试的基类'
print 'test.__doc__:',test.__doc__
print 'test.__name__:',test.__name__
print 'test.__module__:',test.__main__
print 'test.__bases__:',test.__bases__
print 'test.__dict__:',test.__dict__

示例3:

'''example 3 Class inheritance and method partial rewriting'''
class parent:
  def __init__(self):
    print '这是一个父类'
  def ParentsMethond(self):
    print '这是一个父类方法'
  def Parenttest(self,arg):
    self.arg = 'This is a test!'
    print '父类的self变量: %s' %self.arg
    parent.arg = arg
    print '父类的变量: %s' %parent.arg
class child(parent):
  """docstring for child"""
  def __init__(self):
    print '这是一个子类'
  def ChildMethod(self):
    print '调用子类方法 child method'
  def ParentsMethond(self):
    print '父类方法重写!!!!!!!!!!!!!!!!!!!!'
b= parent()
c = child()
c.ChildMethod()
print '*'*10
b.ParentsMethond()
c.ParentsMethond()
print '*'*10
c.Parenttest(3899)

运行结果:

这是一个父类
这是一个子类
调用子类方法 child method
**********
这是一个父类方法
父类方法重写!!!!!!!!!!!!!!!!!!!!
**********
父类的self变量: This is  a test!
父类的变量: 3899

示例4:

'''example 4 Operator overloading'''
class test:
  def __init__(self,a,b):
    self.a = a
    self.b = b
  def __str__(self):
    return 'Vector (%d,%d)' % (self.a,self.b)
  def __add__(self,other):
    return test(self.a+other.a,self.b+other.b)
v1 = test(21,22)
v2 = test(2,3)
print v1 + v2

运行结果:

Vector (23,25)

示例5:

'''#example 5 private class'''
class JustCounter(object):
  """docstring for JustCounter"""
  __secretCount = 0 #私有变量
  publicCount = 0 #公开变量
  def count(self):
    self.__secretCount +=1
    self.publicCount +=1
    print self.__secretCount
counter = JustCounter()
counter.count()
counter.count()
counter.count()
counter.count()
counter.count()
print counter.publicCount
print counter.__secretCount #报错,实例不能访问私有变量
print counter._JustCounter__secreCount

感兴趣的朋友可以测试上述代码运行效果。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
讲解python参数和作用域的使用
Nov 01 Python
python实现排序算法
Feb 14 Python
python中sets模块的用法实例
Sep 30 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
python开发之文件操作用法实例
Nov 13 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
python实现图片插入文字
Nov 26 Python
python中count函数简单的实例讲解
Feb 06 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
Python3爬虫中Ajax的用法
Jul 10 Python
Python读取pdf表格写入excel的方法
Jan 22 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 Python
python实现浪漫的烟花秀
Jan 30 #Python
新年快乐! python实现绚烂的烟花绽放效果
Jan 30 #Python
python+selenium 定位到元素,无法点击的解决方法
Jan 30 #Python
解决Python selenium get页面很慢时的问题
Jan 30 #Python
对python实现模板生成脚本的方法详解
Jan 30 #Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 #Python
python 发送和接收ActiveMQ消息的实例
Jan 30 #Python
You might like
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
Python中DJANGO简单测试实例
2015/05/11 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
python和go语言的区别是什么
2020/07/20 Python
pandas实现导出数据的四种方式
2020/12/13 Python
什么时候需要进行强制类型转换
2016/09/03 面试题
行政人事经理职位说明书
2014/03/05 职场文书
活动总结格式范文
2014/04/26 职场文书
工作鉴定评语
2014/05/04 职场文书
工作失误检讨书
2015/01/26 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
高一军训感想
2015/08/07 职场文书
新课程改革心得体会
2016/01/22 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL