一、模块简介
模块:**
-
一个python文件其实就是一个模块
-
分为:内置模块和第三方模块
python内置模块的保存位置
import os
print(os.__file__) # os.__file__ 可以显示os模块的所在路径# 输出:
# C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\os.py
安装第三方模块
-
用到python的模块管理工具:pip/pip3
-
安装模块:需要首先安装pip/pip3
-
安装命令:pip3 install 模块名
二、开发模块
第一步:在pycharm中新建一个目录
-
目录的名字:testmodule
-
创建目录过程:略
第二步:在 testmodule 目录中创建python文件【这个python文件是作为模块使用】
-
文件名:send.py
-
创建过程:略
-
send.py中的代码
# 这是我们的第一个模块
def info():
print("这是测试模块,你看到这里,说明模块导入了")
name = "tom"
age = 0
第三步:在 testmodule 目录中创建python文件【这个python文件是调用前面那个模块使用】
-
文件名:use.py
-
创建过程:略
-
use.py中的代码
import send
send.info()myName = send.name
myAge = send.ageprint(myName,myAge)
注意:
-
模块和调用模块的文件必须在同一级目录下
-
如果不在一级目录,需要将模块放入到系统的搜索路径中
三、导入模块
方法1
-
导入:
-
import 模块名
-
-
使用:
-
模块名. 方法()
-
模块名.变量
-
方法2
-
导入:
-
from 模块名 import 方法1,方法2 ....
-
-
使用:
-
方法()
-
方法3
-
导入:
-
from 模块名 import *
-
-
使用:
-
方法()
-
方法4
-
导入:
-
import 模块名 as 新的名字
-
-
使用:
-
新名字.方法()
-
4、程序访问入口
python的内置属性:__name__
-
这个属性的返回值有两种
-
第一种:__main__ , 程序主动执行的,那么返回结果是这个
-
第一种:文件名, 程序是被调用才执行的,那么返回结果是这个
-
模块文件:send.py中的内容
# 方法1
def s1():
print("hello")
def s2():
print("bye")
name = "tom"
age = 10if(__name__) == "__main__": # 判断是否这个文件是主动执行
s1()
s2()
print("------------------------------")
调用模块文件:test.py
import send # 导入模块【导入模块的时候,其实是将模块中的程序全部执行一遍】
send.s1() # 使用模块中的方法
五、包
1、简介
-
将多个python模块放到一个目录中,这个目录就是一个包
-
包中必须包含一个文件__init__
2、案例
-
创建包,在包中创建两个模块,然后在其他程序中调用模块
# 目录结构
|---newpro.py # 相当于主程序
|---package01 # 包
|---__init__.py
|---md1.py # 包中的模块
|---md2.py # 包中的模块
md1.py中的代码
def show():
print("hello boys")def say():
print("ni hao")
md2.py中的代码
def install():
print("install soft")
def remove():
print("remove soft")
使用包和包中的模块
-
首先需要去配置一下包中的__init__文件
-
然后才能在主程序中导入包和模块
__init__文件中的代码
__all__ = ["md1","md2"]
from . import *
newpro.py中的代码
from package01 import *
md1.say()