day 11 课程总结
模块(模块名必须符合变量名的要求)
-
系统模块
python自带的模块
如:functools、keyword、math、random、re、time、datetime、turtle、smtplib、socket、threading(多线程多进程)
-
自定义模块
由程序员自己创建的模块
导入模块:
- import 模块名 导入指定模块,通过‘模块名.’的方式使用模块中的所有全局变量
- from 模块名 import 变量名1,变量名2.··· 导入指定模块,可以直接使用import后的所有变量
- from 模块名 import * 导入指定模块,可直接使用模块中的所有全局变量
重命名:
import 模块名 as 新模块名
导入原理
不管通过什么方式导入,原理都是进入指定模块,将模块中的代码全部执行一遍
阻止导入
if --name-- == ‘–main–’:
需要被阻止的代码
包
包含__init__.py文件的文件夹就是包
导入包:
1. import 包.模块(一般会重命名:as 一个新名字) 用: 包.模块.内容()(新名字.内容())
2. form 包 import 模块 用:模块.内容
3. from 包.模块 import 模块内容
异常
程序报错,程序直接结束
异常捕获 (不是程序出错,而是使用者操作不当导致)
让程序在出现异常的时候,不报错,并且程序可以继续执行
语法:
-
可捕获所有的异常,先执行代码1,若无异常,执行后续代码,若异常,直接跳出代码1,马上执行代码2
''' try: 代码1(需要捕获异常的代码) except: 代码2(捕获到异常后会执行的代码) '''
-
捕获特定类型异常
''' try: 代码1(需要捕获异常的代码) except 异常类型: 代码2(捕获到异常后会执行的代码) '''
-
同时捕获多种异常(1)
''' try: 代码1(需要捕获异常的代码) except (异常类型1, 异常类型2,···): 代码2(捕获到异常后会执行的代码) '''
-
同时捕获多种异常(2)
''' try: 代码1(需要捕获异常的代码) except 异常类型1: 代码2(捕获到异常后会执行的代码) except 异常类型2: 代码2(捕获到异常后会执行的代码) ··· except 异常类型n: 代码2(捕获到异常后会执行的代码) '''
主动抛出异常(主动让程序崩溃)
语法:
raise 异常类型