try:可能会发生异常的代码...
except[异常的类名 as 别名]:出现异常执行的代码...
[else:]未出现异常执行的代码...
[finally:]一定会执行的代码...
# 1、基本异常捕获(捕获所有)
try:print(name)
except:print("出现异常了")# 2、捕获指定异常
try:1 / 0
except ZeroDivisionError as e:print("出现了除0异常")print(f"异常信息是{e}")# 3、捕获多个指定异常
try:1 / 0print(name)
except (ZeroDivisionError, NameError) as e:print("出现了除0异常或者名字异常")# 4、捕获全部异常(推荐这种做法,不推荐第一种)
try:print(name)
except Exception as e:print("出现异常了")# 5、全家桶
try:print(name)
except Exception as e:print("出现异常了")
else:print("没有出现异常,好开心")
finally:print("我始终执行一次")
注意:别名e种存储了报错信息
异常是可以在函数之间进行传递的,只要函数之间有调用关系
def fun1():print("fun1开始...")1 / 0print("fun1结束")def fun2():print("fun2开始...")fun1()print("fun2结束")def main():fun2()main()
# 调用会报错
fun2开始...
fun1开始...
Traceback (most recent call last):File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 64, in main()File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 62, in mainfun2()File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 57, in fun2fun1()File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 51, in fun11 / 0
ZeroDivisionError: division by zero进程已结束,退出代码1
我们可以直接在main函数里面处理异常,无需在异常的源头处理
[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名]
# 1、导入整个模块
import time
time.sleep(1)# 2、导入模块的一个或多个函数,as是取别名
from time import sleep as s, time as t
s(1)
# 取别名后只能用别名# 3、导入模块的所有对象
from time import *
sleep(1)
# 不能用time.sleep(1)
自己写一个.py文件,在同一个工程的另一个文件导入即可
if __name__ == '__main__':测试代码...
这个变量在本文件运行是__main__,但是被导入时就不是了所以经常用于测试代码
__all__ = ["模块名1,", "模块名2",......]
这个变量只作用于在导入模块时使用*号的时候,也就是导入的*号其实就是里面写的变量,写了 * 就有,没写 * 就没有
直接在Python工具里面新建包即可,标志就是__init__.py这个文件,有它就是包,没有就是文件夹,这个文件也可以自己创建
# 1、导入包里指定模块
import my_package.my_module1
my_package.my_module1._print()# 2、导入包里的所有模块
from my_package import *
my_module1.my_print()
my_module2.my_print()
不能以 mypackage.my_module2.my_print() 的形式访问# 3、导入模块中的某个方法
from my_package.my_module2 import my_print
my_print()
# 只能以这种形式访问
注意: all = [] 这个变量是写到__init__.py这个文件里的
# 使用的默认网站(外国的)
pip install 包名
# 指定清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名