一.异常
在程序开发中,如果对某些代码的执行不确定(程序的语法完全正确)
完全可以用try来捕获异常
try:
尝试执行的代码
except:
出现错误的处理
实例1:
总结: 在出现错误的时候,使用自己的方法,可以使程序更健壮
当python解释器抛出异常时,最后以行错误信息的第一个单词,
就是错误类型
实例2:
捕获未知错误:
在开发的时候,要判断所有可能出现的错误,是有一定难度的
如果希望程序无论出现任何错误,都不会因python解释器抛出异常
而终止 ,可以增加一个except
实例3:
异常的格式:
try:
#尝试执行的代码
pass
except 错误类型1:
pass
except 错误类型2:
pass
except Exception as result:
else:
#没有异常才会执行的代码
pass
finally:
#无论是否有异常都会执行的代码
实例4:
异常的传递
异常的传递--当函数/方法执行出现异常,会将异常传递给函数/方法调用的一方
如果传递到主程序,依旧没有异常处理,程序才会终止,可以在主程序中增加异常捕获,
而在主函数中调用其他函数,只要出现异常,都会传递到主函数的异常
捕获中,这就不需要在代码中,增加大量的异常捕获,能够保证代码的整洁
实例5:
综合练习:
需求:
判断用户输入的密码
1.<8位错误
2.>8=位正确
实例5之断言:
断言: 可以理解为提前语言,让人更好的知道错误的原因
二.模块
实例1:什么是模块
需要三个py文件作为工具,其中test1、test2作为模块使用,test是作为主要程序来用
以test1 test2 作为工具包来使用
test1:
test2:
test:
实例2:模块怎么修改名字
可以用import 文件名 as 自己想改名字
实例3:
实例4:
python 的解释器在导入模块的时候
1.搜索当前目录指定的模块文件,
2.如果没有,再搜索系统目录
注意:再开发时,给文件起名,不要和系统模块文件重名
实例5之 __name__属性的应用:
__name__属性
——name——属性可以做到,测试模块的代码只再测试情况下被运行,
而在被导入时编不会运行
__name__是ptyhon的一个内置属性,记录这一个字符串
如果是被其他文件导入时,__name__就是模块名
如果是当前之心的除呢光绪,__name__就是__main__
实例6:
# 如果被调用文件里面有__main__ 那么再文件中调用被调用文件会直接输出被调文件的名
# 在很多python文件中会看到以下格式的代码
# 导入模块
# 定义全部半两
# 定义类
# 定义函数
#再代码的下方
def main():
pass
if __name__ = '__main__'
main()
# 在导入的.py文件中,输出是文件名
import test
结果:
输出的结果为空