1.异常:对BUG进行提醒,整改程序继续运行,具有传递性
捕获常规异常语法:
try:
可能发生错误的代码
except:
如果出现异常执行的代码
捕获指定异常语法:
try:
print(name)
except NameError as e:
print("出现了NameError类型的错误")
try:
1/0 #错误类型为ZeroDivisionError
except NameError as e:
print("出现了NameError类型的错误")
前者错误被捕获执行print语句,后者错位未被捕获直接报错,e用于存储异常信息
捕获多个指定异常:(使用元组)
try:
1/0 #错误类型为ZeroDivisionError
except (NameError, ZeroDivisionError) as e:
print(e)
捕获所有异常
try:
1/0 #错误类型为ZeroDivisionError
except Exception as e:
print(e)
捕获else:
try:
0/1 #错误类型为ZeroDivisionError
except Exception as e:
print(e)
else:
print("没有发生异常时执行的语句")
捕获finally:
try:
0/1 #错误类型为ZeroDivisionError
except Exception as e:
print(e)
else:
print("没有发生异常时执行的语句")
finally:
print("无论是否异常都要执行的语句")
2.模块(module):是一个Python文件,以.py,模块能定义函数、变量和类
模块的导入:
[from 模块名] import [模块|类|变量|*] [as 别名] #[]内的内容可以省略
常用的组合
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import * #模块内的所有内容
import 模块名 as 别名
from 模块名 import 功能名 as 别名
自定义模块:在文件夹中导入或者新增一个Python文件
__all__:如果一个模块文件中有一个__all__变量,那么在使用 from 模块名 import * 方法调用模块时只能调用__all__变量中的内容,写在__all__变量外的内容无法调用
__mian__:
def test(a, b):
print(a + b)
if __name__ == '__main__': #该部分语句在文件作为模块被调用时不运行
test(1, 2)
3.包:一个包含了一系列模块的文件夹,在包含了一个__init__.py文件后作为一个包,逻辑上讲包依旧是一个模块
创建包的步骤:
注意:新建包后,包内部会自动创建'__init__.py'文件,这个文件控制包的导入行为
导入包:与导入模块相同
__all__:如果一个'__init__.py'文件中有一个__all__变量,那么在使用 from 包名 import * 方法调用模块时只能调用__all__变量中的模块,写在__all__变量外的模块无法调用
第三方包:
安装第三方包:
方法一:
开始菜单>搜索cmd>打开命令提示符>输入下方代码
使用清华提供的国内网站进行下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
使用国外网站直接下载:
pip install 包名称
方法二:
>左键单击pycharm右下角的Python
>点击+号
>搜索想要下载的包,可以在option中输入清华提供的国内网站,点击_install package就可以下载