Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
本文实例讲述了Python3.4类型判断,异常处理,终止程序操作。分享给大家供大家参考,具体如下:
python3.4学习笔记类型判断,异常处理,终止程序,实例代码:
#idle中按F5可以运行代码
#引入外部模块importxxx
#random模块,randint(开始数,结束数)产生整数随机数
importrandom
importsys
importos
secret=random.randint(1,10)
temp=input("请输入一个数字\n")
#print(type(temp))#类型判断
#print(isinstance(temp,int))#False
#异常处理tryexceptfinally没有catch函数
try:
guess=int(temp)
except:
print("输入的不是数字,程序终止了")#注释内容不能在逻辑代码块里独立一行进行
os._exit(0)#os._exit()用于在线程中退出,sys.exit()用于在主线程中退出,exit(0)#终止退出程序,会关闭窗口
count=0;
whileguess!=secret:#猜错的时候才进入循环条件
ifcount==0andguess>secret:
print("猜大了")
ifcount==0andguess2:
print("猜错4次自动退出了")
break#退出循环
ifguess==secret:
print("恭喜,你猜对了")
print("猜对了也就那样")
else:
ifguess>secret:
print("猜大了")
else:
print("猜小了")
print("游戏结束")
运行结果:
请输入一个数字
2
猜小了
请重新输入数字
fads
输入的不是数字,请重新输入
:
猜小了
请重新输入数字
Pythonos._exit()sys.exit()exit()区别
Python退出程序的方式有两种:os._exit(),sys.exit()
1)os._exit()直接退出Python程序,其后的代码也不会继续执行。
2)sys.exit()引发一个SystemExit异常,若没有捕获这个异常,Python解释器会直接退出;捕获这个异常可以做一些额外的清理工作。
0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
exit()跟C语言等其他语言的exit()应该是一样的。
os._exit()调用C语言的_exit()函数。
__builtin__.exit是一个Quitter对象,这个对象的__call__方法会抛出一个SystemExit异常。
一般来说os._exit()用于在线程中退出
sys.exit()用于在主线程中退出。
importos os._exit(0)
不能直接使用return
python注释内容不能在逻辑代码块里独立一行进行,空格和tab键都是有意义的
iftry等模块下面不能一行内容都没有,编译会认为逻辑有问题报错。
python中tryexcept处理程序异常的三种常用方法
方法一:捕获所有异常
try: a=b b=c except(ZeroDivisionError,Exception): print(ZeroDivisionError,":",Exception)
方法二:采用traceback模块查看异常
#引入python中的traceback模块,跟踪错误 importtraceback try: a=b b=c except: traceback.print_exc()
方法三:采用sys模块回溯最后的异常
#引入sys模块 importsys try: a=b b=c except: info=sys.exc_info() printinfo[0],":",info[1]
但是,如果你还想把这些异常保存到一个日志文件中,来分析这些异常,那么请看下面的方法:
把traceback.print_exc()打印在屏幕上的信息保存到一个文本文件中
importtraceback
try:
a=b
b=c
except:
f=open("c:log.txt",'a')
traceback.print_exc(file=f)
f.flush()
f.close()
importtraceback
#断言assert关键字,程序自动崩溃并抛出AssertionError异常,用在重新中植入检查点
assert4>3#条件正确自动忽略跳过
print("pass...")
try:
assert3>4
except(AssertionError):
traceback.print_exc()
print("afterassert...")
输出结果:
pass...
Traceback(mostrecentcalllast):
File"F:/kanbox/pythoncode/if_for.py",line28,in
assert3>4
AssertionError
afterassert...
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。