模块导入
1.模块:.py文件 就是模块(实际上.pyc .pyo pyd so dll)是动态库
包:包含了__init__.py模块的文件夹(目录)
2.建立模块、包
①建立一个包:在project上new→python Package((里面会自动生成一个__init__.py模块)
②建立一个模块 在包上new→python file
注意:directory 不是包,里面没有__init__.py模块
3.模块 和 包 的作用:为了组织代码 方便管理
4.如何在一个模块中调用别的模块的代码?
①模块导入:使用其他模块的函数、变量、类
②模块导入的方法(2种)
1)import 。。。
♥import 路径.路径.模块名(路径从你的项目根目录下面的一个级开始)
import lesson_10_模块导入.lesson_10_模块是什么
♥ import 包名称
举例:
2)from 。。。import。。。(简化其他模块的调用)
最常用的导入模块的方法
♥from lesson_10_模块导入 import lesson_10_模块是什么
因为导入模块进来,被导入的模块里面的代码都可以调用
from lesson_10_模块导入 import lesson_10_模块是什么 lesson_10_模块是什么.visit('http://www.baidu.com')
再来看看下面的方法,直接把具体函数导入,简化调用过程
from lesson_10_模块导入.lesson_10_模块是什么 import visit print(visit(('http://www.baidu.com')))
这个方法就是,每次调用函数,都要导入一次,太麻烦。(有利有弊)
5.模块分类
内置模块:python自带的。import os
第三库模块:别人写好的模块,需要安装。pip install requests
自定义模块:自己写的模块,通常放在包,即from 包 import 模块
6.扩展内容(暂时不需要自己写,能看懂)
①from .....import * 从模块当中导入所有的代码
慎用!!导入的所有代码里,可能有函数名与本模块里的函数名重名,最后调用的是哪个函数,自己都不清楚。
②from .....import sth as other 表示as 重命名,别名
from lesson_10_模块导入.lesson_10_模块是什么 import visit as visit_another
7.模块导入的搜索路径(了解)
import sys
print(sys.path)#返回的是一个列表
8.__name__:表示当前文件的模块名
♥运行文件、脚本:①是特殊模块,我们是通过这个文件运行程序的
通过模块导入形式运行的代码,_ _name_ _就是文件名、模块名称
直接运行的文件、脚本,_ _name_ _j就不是文件名、模块名,而是固定的: _ _main_ _
如下例子:
demo_1.py 和demo_2.py是导入的模块
lesson_10_模块导入1.py是运行程序,脚本,运行结果如下:
♥ _ _name_ _的使用
运行程序的运行结果:只有运行程序里面的_ _name_ _是_ _main_ _,demo_1.py,demo_2.py的if条件不符合。
如果把_demo_1.py,demo_2.py里面的if条件去掉,只有
print('正在打印demo_1') 和 print('正在打印demo_2')
再在运行程序lesson_10_模块导入1.py中运行,结果就是:
因为在 lesson_10_模块导入1.py导入了demo_1.py,demo_2.py。
♥♥现在来说_ _name_ _的使用:
可以在main里面写测试代码。因为在main里运行代码,就可以测试这个模块。如果是从别的模块导入的,别的模块的代码是不会执行的。