一、引言
Python作为一门流行的编程语言,其前景一直是编程界的热门话题。Python简洁的语法、强大的标准库和丰富的第三方库使其在众多领域都有广泛的应用,从网站开发、数据分析、人工智能到科学计算等。随着数据科学和人工智能的兴起,Python的需求持续增长,成为了许多初学者和转行人士的首选语言。
根据业界调查,Python的流行度持续位于顶尖位置。技术发展的趋势表明,Python在未来仍然是一个值得投资学习的语言,不仅因为其在当前的技术市场中的需求,还因为它在教育、科研和自动化等领域的扩展性。
二、第八章
1.bug
# Author : zzd
# Date : 2016/3/4 22:35
# 1.规范操作
"""
1.漏末尾的冒号
2.缩进错误
3.英文字符写成中文
4.字符串连接,把字符串和数字拼接到一起
5.没有定义变量
6.比较运算符==和赋值运算符=的混用
"""
# 2.知识点不熟练导致错误
"""
1.索引越界:indexError
lst = [11,22,33,44]
print(lst[4])
2.append()方法使用不熟练
lst=[]
lst=append('A','B','C')
print(lst)
"""
# 3.思路不清导致的问题
"""
基础知识不牢固,练
"""
'''列表套字典,字典里的value值有列表'''
lst = [{'rating':[9.7,2062397],'id':'1292052','type':['犯罪','剧情'],'title':'肖申克的救赎','actors':['蒂姆.罗宾斯','摩根.弗里曼']},
{'rating':[9.6,1528760],'id':'1291546','type':['剧情','爱情','同性'],'title':'霸王别姬','actors':['张国荣','张丰毅','巩俐','葛优']},
{'rating':[9.5,1559181],'id':'1292720','type':['剧情','爱情'],'title':'阿甘正传','actors':['汤姆.汉克斯','罗宾.怀特']}]
name = input('请输入你要查询演员的名字:')
for movie in lst:
actor = movie['actors']
for act in actor:
if(name in act):
print(name + '出演了' + movie['title'])
2.Python常见的异常类型
# Author : zzd
# Date : 2016/3/20 14:55
# Python常见的异常类型
ZeroDivisionError #除或取模零的类型
IndexError #序列中没有此索引
KeyError #映射中没有这个键
NameError #未声明/初始化对象(没有属性)
SyntaxError #Python语法错误
ValueError #传入无效的参数
3.异常处理机制
# Author : zzd
# Date : 2016/3/20 14:05
# 1.try: ... except Error:...
"""
1.问题
程序代码逻辑没有错,只是因为用户错误操作或者一些例外情况而导致的程序崩溃
例如:除数不可以为0
没有按照输入类型输入指定类型数据
2.解决
针对这种问题,Python提供了异常处理机制,可以在异常的时候出现0时即捕捉,然后内部"消化",让程序继续运行
try ... except Error:
捕获异常的顺序按照先子类后父类的顺序,为了避免遗漏可能出现的异常,可以在最后增加BaseException
"""
try:
n1 = int(input('请输入一个整数:'))
n2 = int(input('请输入另一个整数:'))
result = n1 / n2
print('结果为:',result)
except ZeroDivisionError:
print('除数不可以为0')
except ValueError:
print('值异常')
except BaseException as e:
print(e)
# 2.try...except...else结构
"""
如果try块中没有抛出异常,则执行else,如果抛出异常,则执行except
"""
try:
n1 = int(input('请输入一个整数:'))
n2 = int(input('请输入另一个整数:'))
result = n1 / n2
except ZeroDivisionError:
print('除数不可以为0')
else:
print('结果为:',result)
# 3.try...except...else...finally
"""
finally块无论如何是否发生异常都会被执行,能常用来释放try块中申请的资源
"""
try:
n1 = int(input('请输入一个整数:'))
n2 = int(input('请输入另一个整数:'))
result = n1 / n2
except ZeroDivisionError:
print('除数不可以为0')
else:
print('结果为:',result)
finally:
print('无论是否抛出异常,都会执行finally,输出这一句')
# 4.try...except...else...finally
4.TraceBack模块的使用
# Author : zzd
# Date : 2016/3/20 22:03
"""
使用traceback模块打印异常信息
"""
import traceback
try:
print('测试'.center(10,'*'))
print(1/0)
except:
traceback.print_exc()