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中的descriptor描述器简明使用指南
Jun 02 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
python多线程并发实例及其优化
Jun 27 Python
Python魔术方法专题
Jun 19 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
jupyter notebook更换皮肤主题的实现
Jan 07 Python
Python基于Opencv识别两张相似图片
Apr 25 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 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 checkbox 取值详细说明
2010/08/19 PHP
php 字符串替换的方法
2012/01/10 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
Python计算字符宽度的方法
2016/06/14 Python
Python通过future处理并发问题
2017/10/17 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
python的scipy实现插值的示例代码
2019/11/12 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
python语言的优势是什么
2020/06/17 Python
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
行政副总岗位职责
2014/02/23 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
科学育儿宣传标语
2014/10/08 职场文书
革命电影观后感
2015/06/18 职场文书
如何写通讯稿
2015/07/22 职场文书
安全伴我行主题班会
2015/08/13 职场文书
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
python实现双链表
2022/05/25 Python