目录
.2、格式二:try:..... finally:.....
3、格式三:try:……except……finally:……
5、格式五:try:.....except:.....else:……
认识错误(BUG)
关于错误
编写的程序不能正常执行,或者执行的结果不是我们期望的
俗称
BUG
,是程序员在开发时非常常见的,初学者常见错误的原因包括:手误
对已经学习过的知识理解还存在不足
对语言还有需要学习和提升的内容
在学习语言时,不仅要学会语言的语法,而且还要学会如何认识错误和解决错误的方法
每一个程序员都是在不断地修改错误中成长的
第一个演练中的常见错误
1> 手误,例如使用
pirnt("Hello world")
NameError: name 'pirnt' is not defined
名称错误:'pirnt' 名字没有定义
2> 将多条
print
写在一行
SyntaxError: invalid syntax
语法错误:语法无效
每行代码负责完成一个动作
3> 缩进错误
IndentationError: unexpected indent
缩进错误:不期望出现的缩进
Python 是一个格式非常严格的程序设计语言
目前而言,大家记住每行代码前面都不要增加空格
4>
python 2.x
默认不支持中文
目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 3.x
Python 2.x
默认不支持中文Python 3.x
默认支持中文Python 2.x
的解释器名称是python
需要在安装python2
的目录把python.exe
文件更改为python2.exe
Python 3.x
的解释器名称是python
SyntaxError: Non-ASCII character '\xe4' in file 01-HelloPython.py on line 3,
but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details
语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 '\xe4',但是没有声明文件编码 请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
ASCII
字符只包含256
个字符,不支持中文
异常
异常是指事件会在程序执行过程中发生错误,影响了程序的正常执行
一般情况下,在
python
无法正常处理程序时就会发生一个异常,即报出错误当
python
脚本发生异常时我们需要捕获处理它,否则程序会终止执行
try语句
try里面一般放你觉得可能会出错的代码
1、格式一:try……except
自动引发异常(常用),在自动化时,可以用来写日志,将报错写入日志中,方便查看问题。
input_str = input('请输入一个数字:') try: print('输入内容是%d'%input_str) except TypeError: # 自动引发异常 raise TypeError('请输入数据类型的正确数字!')
.2、格式二:try:..... finally:.....
try:..... finally:..... :先运行try,然后再运行finally,不管try里面代码运行是否失败
try: print("进入try") file = open(r'd:\test.txt',mode='r') print("已经打开了文件") finally: file.close() print('结束')
3、格式三:try:……except……finally:……
不管try执行是否正常,都会执行finally,只有异常才会执行except
try: print("进入try") file = open(r't.txt',mode='r') print("已经打开了文件") except Exception as e: print('进入except') print('报错信息:',e) finally: print('结束')
4、格式四:try:..........except:……
当try运行正常不执行except,当try运行不正常,运行except。
try: print("进入try") file = open(r'd:\test7.txt',mode='r') print(file.read()) print("已经打开了文件") except Exception as e: print('进入except') print('报错信息:',e) #Exception是常规错误的基类;BaseException是所有异常的基类。
5、格式五:try:.....except:.....else:……
try: ..... except: .....else :……当try代码正常,则不执行except的代码,但是要执行else的代码;反之要执行except,而不执行else
try: print("进入try") file = open(r'd:\test08.txt',mode='r') print("已经打开了文件") except Exception as e: print('进入except') print('报错信息:',e) else: print("其它") finally: print("最终的") #捕获多个异常举例 try: 1/0 except IndexError: print("异常1") except ZeroDivisionError: print("除数不能为0") else: print("没有异常") finally: print("有没有异常都要执行")