Python中一个Py文件就是一个模块
2.怎么在一个模块中去使用另一个模块的内容一个模块中的内容能够被另外一个模块使用的前提: 模块名必须符合变量名的要求
如果要在一个模块中使用另外一个模块的内容,必须先导入再使用
3.导入模块 1)import 模块名导入指定模块,导入后可以通过’模块名.xxx’的方式去使用这个模块中所有的全局变量
2)from 模块名 import 变量名1, 变量名2, 变量名3,…导入指定模块,导入后可以直接使用指定的变量
3)from 模块名 import *导入指定模块,导入后可以直接使用模块中所有的全局变量
4)import 模块名 as 新模块名对模块重命名
5)from 模块名 import 变量名1, 变量名2 as 新变量名2, 变量名3,…对指定变量重命名
# =============导入方式1============= # import test # print(test.x) # test.func1() # print(test.name) # =============导入方式2============= # from test import x, func1 # print(x) # func1() # =============导入方式3============= # from test import * # print(x) # print(name) # func1() # =============导入方式4============= # import test as ts # # test = 99 # print(test) # # print(ts.x) # print(ts.name) # ts.func1() # =============导入方式5============= from test import x as tx, name, func1 print(tx) print(name) func1()2.导入模块的原理 1.原理
不管以什么样的方式导入模块,导入模块的时候系统会先将被导入的模块中所有的代码都执行一遍
2.导入模块的时候选择性执行代码如果一个模块中的部分代码在被别的模块导入的时候不希望被执行,就将不希望被别的模块执行的代码放在指定的if语句中。
if语句:
模块中不需要被别的模块执行的代码就放在下面这个if语句中,需要被别的模块执行的代码就放在这个if语句外面
if __name__ == '__main__':
# import test2
# from test2 import a
# from homework2 import game_start
#
# p1, p2, p3, d = game_start()
# print(p1, p2, p3, d)
from test3 import download
download('肖生克的救赎')
3. 包
1.什么是包
包含了__init__.py文件的文件夹就是包。(包是专门用来封装模块)
包对应的文件夹只放Py文件
普通文件夹可以放其他文件
2.怎么使用通过包导入模块或者模块中的内容
# =====导入方式1==== # import package.test4 # import package2.test5 # # print(package.test4.filename) # package.test4.get_content() # # print(package2.test5.c) # =====导入方式1的变形==== # import package.test4 as t4 # import package2.test5 as t5 # # print(t4.filename) # t4.get_content() # # print(t5.c) # =====导入方式2==== # from package import test4 # from package2 import test5 # # print(test4.filename) # test4.get_content() # # print(test5.c) # =====导入方式3==== # from package.test4 import filename, get_content # from package2.test5 import c # # print(filename) # get_content() # print(c)3.init.py文件的作用
通过包导入内容的时候,系统就会自动执行包中__init__.py文件中的所有的内容
import fileManager # # print(fileManager.xx) # # print(fileManager.csvfile.a) # print(fileManager.jsonfile.c) # # fileManager.read_csv() fileManager.open_file() # from fileManager import read_csv # read_csv() from fileManager.tool.test6 import yy print(yy)4.异常捕获 1.异常
报错
程序在执行过程中如果出现异常(报错),程序会直接结束。
exit() #退出程序
# print(100)
# print('abc'[10])
# # exit()
# print(200)
# print(300)
2.异常捕获
让程序在出现异常的时候不报错(不崩溃),还可以接着往后执行
1)什么时候捕获异常明知道某个地方可能会出现异常,程序员无能为力,又希望在出现异常的时候程序不要奔溃还可以接着往后执行,这个时候就可以进行异常捕获。
2)怎么捕获异常结构1: - 捕获所有异常
try:
代码段1(需要捕获异常的代码)
except:
代码段2(捕获到异常后会执行的代码)
其他代码
结构2: - 捕获指定异常
try:
代码段1
except 异常类型:
代码段2
结构3: - 同时捕获多种异常,针对不同的异常做相同的处理
try:
代码段1
except (异常类型1, 异常类型2,…):
代码段2
结构4: - 同时捕获多种异常,针对不同的异常做不同的处理
try:
代码段1
except 异常类型1:
代码段11
except 异常类型2:
代码段22
except 异常类型N:
代码段NN
try:
print(100)
print('abc'[10])
print(200)
print(300)
except:
print('捕获到异常!')
# try:
# age = int(input('请输入年龄:'))
# if age >= 18:
# print('可以处对象')
# else:
# print('不能处对象')
# except:
# print('年龄输入有误!')
try:
age = int(input('请输入年龄:'))
# print(age + '12')
except ValueError:
print('年龄输入有误!')
# age = int(input('请输入年龄:'))



