python一个py文件就是一个模块
1)前提:如果想要在一个模块中使用另外一个模块中的内容,被使用的模块的模块名必须符合变量名的要求。
2)导入模块——必须先导入再使用
导入指定模块,导入后可以通过‘模块名.xxx’的方式使用这个模块中所有的内容
import demoprint(demo.str1)
print(demo.a)
demo.demo1()
导入指定模块,导入后可以直接使用指定内容;
from demo import str1, demo1print(str1)
demo1()
# print(demo.a) 报错!
导入指定模块,导入后可以直接使用模块中所有模块内容;
from demo import *
print(a)
print(str1)
demo.demo1()
导入指定模块后对模块进行重命名:’新模块名.xxx‘;
import demo as d1demo = 100
print(d1.a)
print(d1.str1)
d1.demo1()
print(demo)
对导入的内容重命名;
str1 = 'abc'
from demo import str1, aprint(str1) # 打印的是后面出现的
包含——init——.py文件的文件夹就是包。
(只适用于包)导入指定的包,导入后可以通过”包名.xxx“去使用 init.py文件中的所有内容。
import files1files1.f_test2()
print(files1.pi)
print(files1.a)
print(files1.b)
导入指定的模块,导入后可以通过”模块名.xxx“使用指定模块中的内容;
from files1 import test4,test2
print(test4.abc)
print(test2.abcd)from files import test
print(test.money)
(只适用于包)导入指定包中__init__.py文件中的指定内容;
import files1.test2
print(files1.test2.abcd)# 升级版import files1.test2 as t2
print(t2.abcd)
导入指定包中的指定模块,导入后可以通过’包名.模块名.xxx’来使用指定模块中所有的全局变量;
导入包中的指定模块,导入后通过模块名.xxx使用对应的模块中的全局变量。
from files1 import test2,test4
print(test4.abc)
test4.test4()
print(test2.abcd)
test2.test1()
程序出现异常(报错)或直接让程序结束运行(在哪个位置出现的异常,程序就会在哪个地方结束)
print('+++++++++++')
# print('abc'[4])
print('---------')
print('+++++++++++')
'''
运行结果:print('abc'[4])
IndexError: string index out of range
+++++++++++
'''
让程序在出现异常的时候程序不结束,还可以接着往后执行。
try:代码段1(需要捕获异常的代码)
except:代码段2(出现异常后会执行的代码)
finally:代码段3(并不会影响异常捕获的运行,但是最后无论如何都会执行的代码)XXXXX
执行过程:
先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2;如果出现异常,程序不报错并且马上执行代码段2;
try:age = int(input('请输入年龄:'))print(age)
except:print("年龄输入有误!")
捕获指定类型的异常(除了有指定的异常,可以查看出现的其他的异常)
try:代码段1(需要捕获异常的代码)
except 异常类型:代码段2(出现异常后会执行的代码)
finally:代码段3(并不会影响异常捕获的运行,但是最后无论如何都会执行的代码)
try:print('abc'[4])
except IndexError:print('出错!') # 结果:出错!
try:代码段1(需要捕获异常的代码)
except (异常类型1,异常类型2,...):代码段2(出现异常后会执行的代码)
finally:代码段3(并不会影响异常捕获的运行,但是最后无论如何都会执行的代码)
try:print('abc'[4])
except (IndexError, KeyError):print('出错!') # 结果:出错!
同时捕获多种
try:代码段1
except 异常类型1:代码段11
except (异常类型2,异常类型22,...):代码段22
except 异常类型3:代码段33
finally:代码段3(并不会影响异常捕获的运行,但是最后无论如何都会执行的代码)
try:print('abc'[4])
except IndexError:print('出错!')
finally:print('充当遗书作用') # 出错!充当遗书作用