模块
模块是一个Python文件,以 .py结尾。模块能定义函数,类和变量,模块里也能包含可执行的代码。
作用
python 中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用 time 模块。
我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。
模块就是一个 Python 文件,里面有类、函数、变量等,我们可以拿过来也给你(导入模块去使用)
导入方式
[from 模块名] impot [模块 | 类 | 变量 | 函数 | *] [as 别名]
import 模块名
基本语法
import 模块名
import 模块1,模块2
模块名.功能名()
# 使用 import 导入 time 模块使用 sleep 功能(函数)
import time
print("你好")
time.sleep(5) # 通过. 就可以使用模块内的全部功能(类、函数、变量)
print("我好")
from 模块名 import 功能名
基本语法
from 模块名 import 功能名
功能名()
# 使用 form 导入 time 的 sleep 功能(函数)
from time import sleep
print("你好")
sleep(5) #
print("我好")
**from 模块名 import ***
基本语法
from 模块名 import *
功能名()
# 使用 * 导入 time 模块的全部功能
from time import *
sleep(5)
as 定义别名
基本语法
import 模块名 as 别名
from 模块名 import 功能名 as 别名
# 使用 as 给特定功能加上别名
import time as t
t.sleep(5)
from time import sleep as s
s(5)
自定义模块
每个 Python 文件度可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块名必须要符合标识符命名规则。
# 导入自定义模块使用
# 第一种方式
import mymodel
mymodel.test(1,2)
# 第二种方式
from mymodel import test
test(1,2)
# 导入不同模块同名功能
from mymodel import test
from mymodel1 import test
# mymodel1的test将mymodel的test覆盖了
test(2,1)
测试模块
# __main__变量
# __main__不会被导入执行
from mymodel import test
all变量
如果一个模块文件中有 all 变量,使用 from *** import * 导入,只能导入到这个列表的元素。
# __all__ 变量 控制 * 可以导入的方法
from mymodel import *
testa(2,1)
# testb(1,2) 导入失败
包
Python 模块太多了,会比较混乱,就需要通过 Python 包的功能来管理。
从物理上看,包就是一个文件夹,在该文件夹下包含了一个_init_.py 文件,该文件夹可用于包含多个模块文件。
从立即上看,包的本质依然是模块。
import my_packaeg.my_model1
import my_packaeg.my_model2
my_packaeg.my_model1.info_print1()
my_packaeg.my_model2.info_print2()
from my_packaeg import my_model1
from my_packaeg.my_model2 import info_print2
my_model1.info_print1()
info_print2()
安装第三方包
在 Python 程序的生态中,有许多第三方包(非 Python 官方),可以极大的帮助我们提高开发效率。
由于是第三方包,所以 Python 没有内置,需要安装他们才可以导入使用。
安装第三方包
第三方包的安装非常简单,只需要使用 Python 内置的 pip 程序即可。
pip install 包名称
或者
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
或者在 pycharm 右下角进行安装