python基础知识—模块和异常
一. 模块
1.1认识模块
python中一个py文件就是一个模块
(1)如何在一个模块使用另一个模块中的内容
1)使用前提:如果想在一个模块中使用另外一个模块中的内容,被使用的模块的模块名必须符合变量名的要求
2)导入模块:
a.import 模块名——导入指定模块,导入后可以通过‘模块名.xxx’的方式来使用
这个模块中的所有内容
b. from 模块名 import 内容1,内容2——导入指定模块,导入后可以直接使用指定内容
#import 模块名
import test
print(test.a)
#from 模块名 import 内容
from test import a
print(a)
c. from 模块名 import *——导入指定模块,导入后可以直接使用模块中所有的内容
from test import *
print(a)
d.import 模块名 as 新模块名——导入指定模块后对模块进行重命名:使用时使用新模块名
import test as t1
print(t1.a)
e.from 模块名 import 内容1 as 新内容1,…——对导入的内容进行重命名
from test import name as t_name,a as b
二.包(package)
包含____init___.py文件的文件夹就是包
1.1如何使用包或者文件夹中的模块中的内容
(1) import 包名——(只适用于包)导入指定的包,导入后通过’包名.xxx’去使用包中____inint____.py文件中的内容
import files2
files2.f_test()
print(f_test.pi)
(2) from 包名 import 模块1,模块2…——导入指定的包中指定的模块,导入后可以通过’模块名.xxx’使用指定模块中的内容
import file2
print(file2.fun_c())
print(file2.pi)
from file2 import test2,test4
print(test2.pi)
print(test4.abc)
(3)from 包名 import 内容1,内容2…——(只适用于包)导入指定包中init.py文件中的指定内容
form file2 import pi,abc
(4)from 包名.模块名
import file2.test2
print(file2.test2.pi)
#为了简洁
import file2.test2 as t2
(5)from 包名.模块名 import 内容1,内容2…
from file2.test2 import pi
三.异常
1.1异常——程序中的错误
程序中出现异常(报错)会直接让程序结束运行(在哪个位置出现的异常程序就会在哪个地方结束)
1.2异常捕获——在程序出现异常的时候程序不结束,还能接着往后执行
1.3 语法结构:
(1)语法结构1
try:
代码段1
except:
代码段2
finally:
代码段3(最后无论如何都会执行的代码)
执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2;如果出现异常,程序不会报错并且马上执行代码段2.finally的出现并不会影响前面的代码,而且都会执行(出现异常被捕获之后也会执行)
try:
a=int(input("请输入年龄:"))
print(a)
except:
print("年龄输入有误!!!")
#请输入年龄:地方
年龄输入有误!!!
try:
a=int(input("请输入年龄:"))
print(a)
except:
print("年龄输入有误!!!")
finally:
print("上面影响不到我")
#
请输入年龄:10
10
上面影响不到我
请输入年龄:asd
年龄输入有误!!!
上面影响不到我
请输入年龄:hjk
上面影响不到我
Traceback (most recent call last):
File "D:\千锋学习\01\model_and_exception.py", line 20, in <module>
a=int(input("请输入年龄:"))
ValueError: invalid literal for int() with base 10: 'hjk'
(2)语法结构2
try:
代码段1(需要捕获异常的代码)
except 异常类型:
代码段2(出现异常后会执行的代码)
try:
print('acd'[4])
except IndexError:
print("这里有错误")
#先执行代码,指定出现错误的类型,如果出现错误的类型和指定的类型一致,则输出代码段2,如果不一致就会报错
(3)语法结构3-同时捕获多种
try:
代码段1(需要捕获异常的代码)
except (异常类型1,异常类型2,异常类型3…):
代码段2(出现异常后会执行的代码)
try:
a = int(input("请输入年龄:"))
print(a)
except (KeyError,IOError,IndexError):
print("年龄输入有误!!!")
finally:
print("上面影响不到我")
请输入年龄:addf
上面影响不到我
Traceback (most recent call last):
File "D:\千锋学习\01\model_and_exception.py", line 29, in <module>
a = int(input("请输入年龄:"))
ValueError: invalid literal for int() with base 10: 'addf '
(4)语法结构4
try:
代码段1(需要捕获异常的代码)
except (异常类型1,异常类型11):
代码段2(出现异常后会执行的代码)
except 异常类型2:
代码段3
try:
a = int(input("请输入年龄:"))
print(a)
except (KeyError,IOError,IndexError):
print("年龄输入有误!!!")
except ValueError:
print("值错误")
finally:
print("上面影响不到我")
#
请输入年龄:阿斯顿
值错误
上面影响不到我