python-多态、类属性、类方法、静态方法、异常
来源:互联网 发布:win10 linux安装教程 编辑:程序博客网 时间:2024/06/15 15:54
多态
#!/usr/bin/python#coding:utf-8class Animil(object): def bark(self): print "animal bark"class Dog(Animil): def bark(self): print "dog brak"class Horse(Animil): def bark(self): print "horse bark"dog = Dog()dog.bark()print "-----------------"def animalBar(temp): temp.bark()animalBar(dog)
输出如下:
E:\python\python_jdk\python.exe E:/python/py_pro/safly/SaflyDemo.pydog brak-----------------dog brakProcess finished with exit code 0
类属性
#!/usr/bin/python#coding:utf-8class Animil(object): address="河北" bbbb = 0 def bark(self): self.bbbb += 1animal = Animil()print "类对象、实例对象均可获取类变量"print animal.bbbbprint Animil.bbbbprint "-----赋值self.bbbb += 1(同名bbbb)------"animal.bark()print "------类对象使用类变量-------"print Animil.bbbbprint animal.bbbbAnimil.bbbb+=1print Animil.bbbbprint animal.bbbb###实例对象自己的bbbbprint "-------实例对象使用类变量"animal.bbbb += 1print Animil.bbbbprint animal.bbbbprint "---用字符串测试下----"print Animil.addressprint animal.addressanimal.address = "山东"print Animil.addressprint animal.addressAnimil.address = "海南"print Animil.addressprint animal.address
输出如下:
E:\python\python_jdk\python.exe E:/python/py_pro/safly/SaflyDemo.py类对象、实例对象均可获取类变量00-----赋值self.bbbb += 1(同名bbbb)------------类对象使用类变量-------0111-------实例对象使用类变量12---用字符串测试下----河北河北河北山东海南山东Process finished with exit code 0
类方法
#!/usr/bin/python#coding:utf-8class Animil(object): address="河北" @classmethod def setAddress(cls): cls.address = "山东" def setAddress2(self): self.address="哈哈"print "类对象可以直接调用类属性、类方法" \ "但是类对象不能调用实例方法、实例属性"print "实例对象可以调用实例属性、类属性,只能修改实例属性,不能直接修改类属性" \ "它还可以调用类方法、实例方法"animal = Animil()Animil.setAddress()print animal.addressprint Animil.addressanimal.setAddress()print animal.addressAnimil.address="海南"print Animil.addressprint animal.addressanimal.setAddress2()print animal.addressprint Animil.address
输出如下:
E:\python\python_jdk\python.exe E:/python/py_pro/safly/SaflyDemo.py类对象可以直接调用类属性、类方法但是类对象不能调用实例方法、实例属性实例对象可以调用实例属性、类属性,只能修改实例属性,不能直接修改类属性它还可以调用类方法、实例方法山东山东山东海南海南哈哈海南Process finished with exit code 0
静态方法
#!/usr/bin/python#coding:utf-8class Animil(object): address="河北" @classmethod def setAddress(cls): cls.address = "山东" @staticmethod def getAddress(): return Animil.addressprint Animil.addressanimal = Animil()print animal.addressanimal.setAddress()print "-------------"print Animil.addressprint animal.addressprint Animil.getAddress()print animal.getAddress()
输出如下:
E:\python\python_jdk\python.exe E:/python/py_pro/safly/Python_Demo.py河北河北-------------山东山东山东山东Process finished with exit code 0
异常
#!/usr/bin/python#coding:utf-8print "---------------异常except------------"try: print numexcept NameError: print '产生错误了;'print "---------------finally------------"try: print numexcept NameError, errorMsg: print '产生错误了;', errorMsgfinally: print "finally"print "---------------捕获多个异常------------"try: open('123.txt','r') print numexcept (IOError,NameError), errorMsg: #如果想通过一次except捕获到多个异常可以用一个元组的方式 # errorMsg里会保存捕获到的错误信息 print errorMsgprint "---------------异常else------------"num = 1try: print numexcept NameError: print '产生错误了;'else: print "没有异常"
输出如下:
E:\python\python_jdk\python.exe E:/python/py_pro/safly/SaflyDemo.py---------------异常except------------产生错误了;---------------finally------------产生错误了; name 'num' is not definedfinally---------------捕获多个异常------------[Errno 2] No such file or directory: '123.txt'---------------异常else------------1没有异常Process finished with exit code 0
阅读全文
0 0
- python-多态、类属性、类方法、静态方法、异常
- python中的静态属性,静态方法、类方法解读
- python 类属性,实例属性,类方法,静态方法
- python-静态方法staticmethod、类方法classmethod、属性方法property
- 类方法、静态方法、属性
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- python_静态属性,类方法,静态方法
- Python 类属性,实例属性,类方法,实例方法,静态方法
- Python 静态类、静态方法
- Python 静态方法 类方法
- Python 静态方法 类方法
- Python 类方法 静态方法
- python类方法、实例方法、静态方法
- Python 静态方法 类方法 实例方法
- python实例方法,静态方法,类方法
- python --类方法、对象方法、静态方法
- mysql报ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must
- 深入解读缓存(二)——一致性Hash算法
- ASP 使用 Request.ServerVariables(HTTP_REFERER) 方法获取请求页面地址的注意事项
- JMS(一):JMS基础;一个JMS例子
- 一文入门百度天工IOT平台
- python-多态、类属性、类方法、静态方法、异常
- angular js 终极购物车
- 两个链表的第一个公共结点
- Matplotlib之pyplot常用操作(一)
- cypher语言
- WPF/UWP 日期格式dd-MMM-yyyy
- 高分编程佳作推荐
- 【Xuggle】Failed to write core dump. Minidumps are not enabled by default on client versions
- Erlang 游戏开发经验总结 转载自没有开花的树