01模块
1.什么是模块
python中一个py文件就是一个模块
模块分为系统模块和自定义模块
2.怎么使用模块 - 怎么在一个模块中去使用另外一个模块中的内容
注意:1)如果一个模块中的内容想要能够被别的模块使用,那么这个模块的名字必须符合变量名的要求
2)符合命名要求的模块中,只有全局变量可以被别的模块使用
3.怎么导入模块 - 要使用别的模块中的内容,必须先导入
1)import 模块名 - 导入指定模块,导入后可以通过’模块名.xxx’的方式去使用模块中所有的全局变量
2)from 模块名 import 变量名1,变量名2,… - 导入指定模块,导入后可以直接使用import后面的全局变量
3)from 模块名 import * - 导入指定模块,导入后可以直接使用模块中所有的全局变量
4)import 模块名 as 新模块名 - 导入模块的时候给模块重命名
5)from 模块名 import 变量名1 as 新变量名1,变量名2,… - 重新给指定变量命名
#1.导入方式1:
import test
print(test.a)
print(test.func1())
#2.导入方式2:form 模块名 import 变量名1,变量名2,...
from test import a,func1
print(a)
print(func1())
#3.from 模块名 import *
from test import*
print(a)
print(x)
func1()
# 4.模块重命名
import 模块名 as 新模块名
# test=100
# import test as test1
# print(test1.a,test1.x)
# test1.func1()
# 5.变量重命名
```python
from test import a,x as t_x
print(t_x)
print(a)
02导入模块的原理
1.导入原理
当代码执行到导入模块的操作的时候,系统会自动进行被导入的模块,将模块中的代码全部执行一遍.
import和from-import在导入模块的时候自动检测模块是否重复导入,如果已经导入过,不会重复导入.
#import test
2.阻止导入
from downloadMovies import download
download('美国队长1')
'downloadMovies’为以下内容
def download(name):
print(f'开始下载{name}')
print('检查网络')
print('连接服务器')
print('传输数据')
print('保存数据')
print(f'{name}下载结束')
#在这个if中代码别的模块导入的时候不会执行
if __name__ == '__main__':
download('肖申克的救赎')
download('霸王别姬')
download('触不可及')
download('这个杀手不太冷')
download('毒液2')
03异常捕获
#1.异常
'''
程序在执行过程中报错,这个时候程序就出现异常(错误==异常)
异常的出现会终止程序的运行
'''
#2.捕获异常 - 让程序在出现异常的时候不报错,并且可以继续执行
'''
1)捕获异常的使用场景:明明知道某个位置可能会出现异常,但是无法(不愿意)通过修改代码来避免异常,
还想再异常出现的程序可以继续执行,就可以对这段代码进行异常捕获
2)语法: - 获取所有异常
结构1:
try:
代码段1(需要捕获异常的代码段)
excepet:
代码段2(捕获到异常后会执行的代码)
else:
代码段3(没有捕获到异常会执行的代码)
其他代码
执行过程:先执行代码段1,如果代码段1没异常直接执行其他代码;如果代码段1出现异常,马上执行代码段2,再执行其他代码
'''
# 练习1:提示用户输入年龄,如果年龄输入有误,不报错,打印'年龄输入有误!'
# age = int(input('请输入年龄:'))
# try:
# age = int(input('请输入年龄:'))
# except:
# print('年龄输入有误')
# 练习2:提示用户输入年龄,如果年龄输入有误,不报错,让用户重新输入,直到输入正确为止
while True:
try:
age = int(input('请输入年龄:'))
break
except:
print('年龄输入有误')
#3)语法2: - 捕获特定的异常
'''
try:
代码段1(需要捕获异常的代码)
except 异常类型:
代码段2(捕获到指定异常后执行的代码)
'''
#4)语法3: - 同时捕获多种异常,不同类型的异常做相同的处理
'''
try:
代码段1(需要捕获异常的代码)
except (异常类型1,异常类型2,...):
代码段2(捕获到指定异常后执行的代码)
'''
#5)语法4: - 同时捕获多种异常,根据不同类型的异常做不同的处理
'''
try:
代码段1(需要捕获异常的代码)
except 异常类型1:
代码段11(捕获到指定异常后执行的代码)
except 异常类型2:
代码段22(捕获到指定异常后执行的代码)
except 异常类型3:
代码段33(捕获到指定异常后执行的代码)
...
'''
#3.关键字finally(了解)
'''
try:
代码段1(需要捕获异常的代码段)
excepet 异常类型:
代码段2(捕获到异常后会执行的代码)
finally:
代码段3(无论前面的代码怎么执行的,代码段3都会执行)
'''