2.7

2020.2.7

pickle模块

import pickle
list1 = [123,3.14,'yyqx',['list2']]
pickle_file = open('list1.pkl','wb')
pickle,dump(list1,pickle_file)
pickle_file.colse()
pickle_file = open('list1.pkl','rb')
list2 = pickle.load(pickle_file)
print(list2)
输出:
[123,3.14,'yyqx',['list2']]

异常处理

​ AssertionError:断言语句(assert)失败

​ AttributeError:尝试访问未知的对象属性

list.clear()
list.yyqx()#这行存在AttributeError

​ IndexError:索引超出序列的范围

list1 = [0,1,2]
list1[3]#这行存在IndexError

​ KeyError:字典中查找一个不存在的关键字

dict1 = {'one':1}
dict1['four']#这行存在KeyError

​ NameError:尝试访问一个不存在的变量

​ OSError:操作系统产生的异常(例如打开一个不存在的文件)

​ OverflowError:数值运算超出最大限制

​ SyntaxError:Python的语法错误

​ TypeError:不同类型间的错误操作

​ ZeroDivision:除数为零

​ IndentationError:缩进错误

​ FileNotFoundError:找不到文件

检测异常的语句

​ 1、 try-except语句

try:
	检测范围
except Exception[as reason]:
	出现异常(Exception)后的处理代码
try:
	f = open('yyqx.jpg')
	print(f.read())
	f.close()
except OSError as reason :
	print('出错原因:' + str(reason))
输出:
出错原因:[Error2]No such file or directory:'yyqx.jpg'

​ 2、 try-finally语句

try:
	检测范围
except Exception[as reason]:
	出现异常(Exception)后的处理代码
finally:
	无论如何都会被执行的代码
try:
	f = open('yyqx.txt','w')
	print(f.write('love you'))
	sum = 1 + '1'
except TypeError as reason :
	print('出错了')
finally:
	f.close()
输出:
出错了#且文件被写入了love you并保存

​ 3、 raise语句:自己引发一个异常

else语句

用法一:

def showMaxFactor(num):
	count = num // 2
	while count > 1:
		if num % count == 0:
			print('%d的最大约数为%d'%(num,count))
			break
		count -= 1
	else:
		print('%d是素数' % num)
	
num = int(input('请输入一个数:'))
showMaxFactor(num)
输出:
请输入一个数:50
50的最大约数为25

用法二:

try:
	print(int('123'))
except ValueError as reason:
	print('出错啦:' + str(reason))
else:
	print('没有任何异常')
输出:
123
没有任何异常

with语句

try:
	f = open('data.txt','w')
	for each_line in f:
		print(each_line)
except OSError as reason:
	print('出错啦' + str(reason))
finally:
	f.close()

或者
try:
	with open('data.txt','w') as f:
		for each_line in f:
			print(each_line)
except OSError as reason:
	print('出错啦' + str(reason))
输出:
出错啦not readable

图形用户界面入门:EasyGui(教学文档:http://bbs.fishc.com/thread-46069-1-1.html)**

1、创建一个界面框

import easygui
easygui.msgbox('hey boy~')

或者

from easygui import *
magbox('hey boy~')

或者

import easygui as g
g.msgbox('hey boy~')

例一:

import easygui as g
import sys

while 1:
	g.msgbox('HEY WELCOME TO THIS GAME')
	
	msg = 'what doyou learn from this game'
	title = 'communicate'
	choices = ['fall in love','write essey','xxoo']
	
	choices = g.choicebox(msg,title,choices)
	g.msgbox('what is your choice?' + str(choice),'result')
	msg = 'again?'
	title = 'please make your choice'
	
	if g.ccbox(msg,title):
		pass
	else:
		sys.exit(0)

(建议不要在IDLE上运行EasyGui)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值