Python-面向对像及其他
2016-06-08 14:34
344 查看
其他相关
1、isinstance(obj,cls)检查是否obj是类cls的对象
# 针对变量 n = 123
s
= "123" print isinstance(n,int) # True print isinstance(s,int) # False print isinstance(s,str) # False
#
针对类 classFoo: pass
obj
= Foo() print isinstance(obj,Foo) # True
2、issubclass(sub,super)
检查sub类是否是super类的派生类
class
Foo: passclassFun(Foo): passprint issubclass(Fun,Foo) # True
3、异常处理
1:模式:
try:
# 正常的代码
pass
except Exception,e:
# 异常后显示的内容
pass
e是包含在Exception类中的一个对象,其中包含所有的报错的情况
实例:
while
True: num1 = raw_input('num1:') num2 = raw_input('num2:') try: num1 = int(num1) num2 = int(num2) result = num1 +num2 except Exception,e: print "报错信息如下显示:" print e '''
打印结果: num1:3 num2:f 报错信息如下显示: invalid literal for int() with base 10: 'f' '''
如果对程序的要求没有特殊的异常处理可以直接使用总的Exception,如果单独处理某种错误,可以按照下面的方法操作
try
:
li = [11,22,33,44]
li[110]
except IndexError,e:
print e
这样就只对索引的错误进行异常处理。
2:异常的种类
异常的种类有很多,每个异常专门用于处理某一项异常。
try
:
# 主代码块
pass
except KeyError,e:
# 异常时,执行该块
pass
else:
# 主代码块执行完执行该块
pass
finally:
# 无论是否异常,最终执行该块
pass
主动触发异常
try: N = raw_input("请输入1:") if N == 1: print "成功" else: raise Exception('我这里出错了。。。') except Exception,e: print "显示错误页面。。。。" print e 打印结果: 请输入1:2 显示错误页面。。。。 我这里出错了。。。
自定义触发异常
Exception函数在返回的时候,是将__str__中的字符串返回出来。
如果使用Alexerror来执行的话,就返回Alex Error,在括号中加入内容的话,就返回其中的内容。
4、反射
普通方式实现:
首先在主程序中实现:
getattr:去某个容器模块中找函数,字符串函数名,如果有则获取函数。
以字符串的形式执行某一个模块中的函数
反射功能由以下四个内置函数提供:
hasattr getattr setattr delattr 这四个函数分别用于对对象内部执行:检查是否含有某个成员、获取成员、设置成员、删除成员。
设计模式
1、单例,顾名思义单个实例。比如在游戏的场景中,就无法使用单例模式,要不你怎么创建那么多角色。
实际应用:
相关文章推荐
- Python进阶-面向对象
- 【Python】 sort、sorted高级排序技巧
- Python-执行系统命令
- Python-面向对象编程
- caffe+VS2013+cuda7.5+cudnn V4+python 2.7 在windows10 下的配置
- Python-装饰器详解
- python中xrange和yield的用法
- 安装python的pip相关
- python学习之多线程(二)
- Python探索
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- python flask detect browser language
- Python内置函数
- python基础随笔
- python案例-用户登录
- python_Day_02[数组、列表、元组之篇]
- python使用zmq通信
- python面向对象
- Python学习笔记-第一个小游戏Pyglatin
- Scrapy 1.2 + Python 3.5 在 Windows 上的安装方法