day13 模块和异常捕获

day13 模块和异常捕获

1认识模块

1)python中一个.py文件就是一个模块

2)模块分为自定义模块和系统模块

系统模块:functool:math:random

自定义模块:是程序员自己创建的模块

2导入模块

如果我们想要使用的内容(变量、函数、类)在另一个模块中,可以中,但是必须先导入

前提:模块名必须符合变量名的要求

3怎么导入

1)import 模块名-导入可以使用的全局变量

2)from 模块名 import 变量名1,变量名2

3)from 模块名import * — 导入后直接使用变量名

4)import 模块名 as 新模块名–对模块名新命名

#导入方式1
# import demo1
# print(demo1.a1)
# print(demo1.a1)
# demo1.func1()
#导入方式2
# from demo1 import a1,name1,func1
# print(a1)
# print(name1)
# func1()
#导入方式3
# from demo1 import *
# print(a1)
# print(name1)
# func1()
#导入方式4改名
# import demo1 as AAA
# print(AAA.a1)

4导入原理

1原理是把导入的模块代码全部执行一遍

2阻止导入

在被阻止的模块中加入if语句(main提示出来的if语句)

if name ==‘main’:

​ 需要被阻止的代码

5包

1什么是包

包含__init__.py的文件的文件夹就是包

2导入包

#方式1
#import 包.模块 as 新名字

#方式2
#from 包 import *
#from 包 import 模块1,模块2

#方式3
#from 包.模块 import 变量1,变量2

6异常捕获

1什么是异常

异常就是错误(程序报错==程序出现异常)

如果执行程序中出现异常,程序会直接结束,捕获后马上执行下面语句

2异常捕获

异常捕获就是程序出现异常的时候不报错,可以继续执行

一般放在可能出错的地方或者使用者容易操作不当的地方

语法1
try:
    需要捕获异常的代码段1(可能有问题的代码)
except:
    捕获到异常以后会执行的代码2(修补代码)
其他代码

执行过程:出现了异常,马上执行代码2,代码1剩下的不会执行
语法2-特定异常的捕获
try:
    代码段1(需要捕获的代码段)
except 异常类型:
    代码段2(修补代码)
语法3-特定异常的多种捕获
try:
    代码段1(需要捕获的代码段)
except (异常类型1,异常类型2):
    代码段2(修补代码)

3抛出异常

raise 异常类型----可以主动让程序崩溃并作出提示

class AgeError(Exception):
    def __str__(self):
        return '年龄不在范围'
age=int(input('输入年龄'))
if age<0 or age>150:
    raise AgeError

你可能感兴趣的:(排序算法,算法,python)