一、基础
1.概念:就是一个文件夹,文件夹必须包含__init__.py
2.作用:避免模块名的冲突
二、导入包中的模块
写导入的Python文件要放在同一个目录中,但不能放在包中
1.import 导入
# 导入import 包名.模块名
import sc.mk
# 输出 print(包名.模块名.变量名/方法名等)
print(sc.mk.a)
print(sc.mk.add(2,6))
2.from 导入
# 导入from 包名.模块名 import *
from sc.mk import *
# 导入某一种/项内容
# from sc.mk import a
# 输出print(变量名/方法名等)
print(a)
print(add(8,9))
sc/mk.py
a = 15
def add(a,b):
return a+b
# 以主程序执行:测试模块
if __name__ == "__main__":
print(add(1,5))
三、异常处理
1.基本结构
try:
可能引发异常的代码
except 异常类型名称:
异常处理的代码
except (异常类型名称1,异常类型名称2) as 起名:
print(起名)#返回错误信息
else:
没有发生异常时执行的代码
finally:
不管是否发生异常,都会执行的代码
def a():
x = eval(input('被除数:'))
y = eval(input('除数:'))
return x/y
print(a())
'''
try:
def a():
x = eval(input('被除数:'))
y = val(input('除数:'))
return x/y
print(a())
except ZeroDivisionError:
print('除数不能为0')
except TypeError:
print('数据类型错误')
# as 是把错误原因输出
except NameError as exp:
print(exp)
'''
try:
w = [1,2,5,7,9,3]
# 位置索引异常
# print(w[6])
# 类型异常
# w.append()
except (IndexError,TypeError) as tef:
print('哎呀,出错了')
print('异常类型',tef.__class__.__name__)
print('异常信息',tef)