try:
可能发生bug的代码
except: except Exception as e:
出现bug时执行的代码 不会报错
try:
print(name)
except NameError as e:
print("变量名未定义异常") 捕获指定的异常,不会报错,其他异常会报错。e为错误异常对象,可以
用print(e)打印
try:
print(name)
1/0
except (NameError, ZeroDivisionError) as e:
print(...) 以元组的形式捕获多个异常
在以上:
else:
没有出现异常时执行的代码
finally:
出不出现异常都要执行的代码
异常的传递性:bug信息层层传递
python模块:工具包 以.py结尾,是一个python文件
from ... import ... as ...
time模块
from time import * 导入全部功能
自定义模块
若多个自定义模块有同名,则后面的覆盖
__main__变量:
if __name__ =="__main__":
test()
__name__为python文件内置变量,运行该文件时默认为main,只有当该文件自己运行时可以执行测试代码,其他文件import时不会执行测试代码
__all__变量:
import * 时使用,__all__为一个列表,__all__可定义为模块里函数名的列表,其他模块要导入时,只会导入all的方法
python包:python文件夹,里面有很多模块组合在一起,和一个__init__.py文件,为自动创建
导入包:import 包名.模块名 使用时:包名.模块名.函数名
还可以:from 包名 import 模块名 使用时: 模块名.函数名
__init__.py文件为空文件,可以在该文件中定义__all__列表变量,来控制import * 导入的模块
安装第三方包:pip