目录
1.什么是Python模块
• Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对
象定义和Python语句。
• 模块让你能够有逻辑地组织你的 Python 代码段。
• 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
• 模块能定义函数,类和变量,模块里也能包含可执行的代码。
2. Python模块的导入
在Python中的模块导入方式2种:
• import module1[, module2[,... moduleN]
• from modname import name1[, name2[, ... nameN]]
如:
import sys,math,random
from random import random,randrange
3. 第三方模块的安装
3.1 使用pip命令安装(推荐)
pip install 模块名
pip uninstall 模块名
pip freeze --查看都安装了哪些模块名
3.2 whl下载安装的方式:
网址: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载
QQQQQQQ安装:pip install 文件包名
3.3 直接复制的方式
3.4 anaconda
conda install … conda list
conda update … conda remove ...
4. 自定义模块
• 在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包
含的子目录。
• 目录只有包含一个叫做__init__.py 的文件才会被认作是一个包,主要是为了
避免一些滥俗的名字(比如叫做 string)不小心的影响搜索路径中的有效模
块。
• 最简单的情况,放一个空的 :file:__init__.py就可以了。当然这个文件中也可
以包含一些初始化代码或者为(将在后面介绍的)__all__变量赋值
• 包是一种管理 Python 模块命名空间的形式,采用“点模块名称”。
• 比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。
• 目录只有包含一个叫做__init__.py 的文件才会被认作是一个包,主要是为了避
免一些滥俗的名字
• 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在
运行,否则是被引入
• 内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式
返回。
代码演示:
#Python模块实战
import time
import random
print("当前时间戳:", time.time())
print("当前时间元组:", time.localtime())
#当前时间元组: (tm_year=2023, tm_mon=7, tm_mday=24, tm_hour=17, tm_min=1, tm_sec=11, tm_wday=0, tm_yday=205, tm_isdst=0)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print("当前时间", time.strftime("%Y-%m-%d %H:%M:%S"))
print("随机数:", random.random())
#from…import 语句:
#Python的from语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
#格式:from modname import name1[, name2[, ... nameN]]
from random import random, randrange
print("当前时间戳:", random())
print("随机一个1~10的值:", randrange(1,11))
#测试使用自定义模块
from mylib import demo
from mylib.demo import sum
print("50的累加:", demo.sum(50))
print("100的累加:", sum(100))
#每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入
print(__name__)
print(demo.__name__)
#内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回:
print(dir())
print(dir(demo))
结果:
demo.py文件
#自定义模块文件
#自定义累加函数
def sum(m):
total = 0
for i in range(0, m+1):
total += i
return total
#测试
#print(sum(100))