1、异常的捕获 在可能出现异常的地方进行捕获 提供解决方法 而不是任其导致程序无法运行
语法 try :
可能发生的错误的代码
except:
如果出现异常执行的代码
# #打开不存在的文件
try:
f = open("E:\Desktop\heihei.txt","r",encoding="UTF-8")
except:
f = open("E:\Desktop\heihei.txt", "w", encoding="UTF-8")
2、捕获指定异常
#捕获指定异常
try:
print(name)
except NameError as e:
print("出现了变量未定义的异常")
3、捕获多个异常
#捕获多个异常
try:
print(name)
except(NameError,ZeroDivisionError) as e:
print("出现了变量未定义,除以0的异常")
4、捕获所有异常
#捕获全部异常
try:
except Exception as e:
print("出现异常了")
5、异常else 如果没有异常 就怎么做
#捕获全部异常
try:
except Exception as e:
print("出现异常了")
else:
print("没有异常")
6、finally 无论是否出现异常 都要执行代码
# # #打开不存在的文件
try:
f = open("E:\Desktop\heihei.txt","r",encoding="UTF-8")
except:
f = open("E:\Desktop\heihei.txt", "w", encoding="UTF-8")
finally:
print("不论有没有异常,我都要执行")
f.close()
7、异常的传递
#异常的传递性
#定义一个异常
def func1():
f = open("E:\Desktop\heihei.txt", "r", encoding="UTF-8") #不存在的文件
def func2():
func1()
def main():
func2()
main()
对上述代码进行异常捕获
def main():
try: #捕获异常
func2()
except Exception as e:
print(f"异常信息{e}")
main()
8、模块 一个python文件 以.py结尾 模块能定义函数 类和变量 也可能包含可执行的代码
模块的导入方式:
[from 模块名] import[ 模块|类 变量 函数 *] [as 别名]
常用的组合方式:import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块命 as 别名
from 模块名 import 功能名 as 别名
基本语法:
import 模块名
import 模块1,模块2
模块名.功能名()
import time #导入python内置的time模块
print("1")
time.sleep(5)
print("2")
from 模块名 import 功能名
功能名()
#从time模块中只拿到slep功能
from time import sleep
print("2")
sleep(2)
print("3")
from 模块名 import * 将模块内部的功能全部导进来
不用写time.
as 别名
import time as t
print("2")
t.sleep(2)
print("3")
8、自定义模块
import my_model
my_model.test(1,2)
—main—变量
def test(a,b):
print(a + b)
if __name__ == '__main__': #通过main变量避免在导入模块时运行模块的测试代码
test(1,2)
—all—变量 如果一个模块有—all—变量,当使用from xximport *导入时 只能导入这个列表的元素
__all__ = ['test1']
def test1(a,b):
print(a + b)
def test2(a,b):
print(a - b)
9、自定义python包 文件夹 包含一堆模块
创建包 1、新建包 my_package 2、新建包内模块 my_model1 my_model2
导入包:方式
#导入自己创建的包
import my_package.my_model1
import my_package.my_model2
from my_package import my_model1
from my_package.my_model1 import test1
from my_package import * #all变量控制 会报错
test2(1,2)
test1(2,2)
my_model1.test1(1,2)
my_package.my_model1.test1(1,2)
10、安装第三方包:pip install