当前位置:脚本大全 > > 正文

python面向对象编写案例(Python面向对象程序设计示例小结)

时间:2022-04-04 14:42:28类别:脚本大全

python面向对象编写案例

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

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

示例1:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • #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:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • #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:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • '''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:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • '''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:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • '''#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程序设计有所帮助。

    原文链接:https://blog.csdn.net/fengshenyue/article/details/54692623

    上一篇下一篇

    猜您喜欢

    热门推荐