1. 模块
1.1 什么是模块
python中一个py文件就是一个模块。
1.2 怎么在一个模块中使用另一个模块的内容
1)前提:被使用的模块的模块名(py文件的文件名)必须符合变量名的要求(是标识符,不是关键字);
2)能被使用的内容:所有的全局变量;
3)怎么用:使用别的模块中的内容前,必须先导入模块。
1.3 导入模块
1)import 模块名 - 导入指定模块;导入后可以通过’模块名.xxx’的方式使用这个模块中所有的全局变量;
import test
print(test.a)
test.func1()
print(test.b)
2)from 模块名 import 变量名1,变量名2,… - 导入指定模块;导入后可以直接使用指定变量;
from test import a,b,func1
print(a)
func1()
print(b)
3)from 模块名 import * - 导入指定模块中的变量;导入后可以直接使用所有变量;
from test import *
print(a)
func1()
print(b)
4)from 模块名 as 新模块名 - 直接导入指定模块并且对模块进行重命名,重命名后需要通过新模块名来代替原模块名使用模块;
import test as ts
print(ts.a)
ts.func1()
print(ts.b)
5)from 模块名 import 变量名1 as 新变量名1,变量名2,变量3 as 新变量名3,…。
from test import a as ta,func1,b
print(ta)
func1()
print(b)
2. 导入原理与阻止导入
2.1 导入模块的原理
不管以什么样的方式导入模块,导入模块的时候系统会自动进入模块执行这个模块中所有的代码。
2.2 阻止导入
1)因为导入模块的时候默认会执行模块中所有的代码,就会导致有写完全没有必要在导入的时候执行的代码被执行。
2)如果希望导入模块的时候某些代码可以不执行,就需要去阻止代码在被导入的时候执行。
3)阻止方法:将不需要被执行的代码放到main对应if条件语句里面。
print(f'download:',__name__)
def download_movie(name):
print(f'{
name}开始下载')
print('下载中')
print(f'{
name}结束下载')
# 在这个if语句里面的代码在被别的模块导入的时候不会被执行。 - 直接写main敲回车
if __name__ == '__main__':
names = ['a','b','c','d']
for name in names:
downl