一、模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。从物理的角度来说,一个模块就是一个.py文件,从逻辑的角度来说,就是模块的命名空间。
模块的好处:(1)在同一个模块.py文件中一个名字不能同时出现,为了解决名字冲突的问题,所以建立不同的文件。(2)有利于项目按照功能分块开展。(3)可以共享使用模块。
二、模块的导入
1.import 模块名1 [as 别名1],模块名2 [as 别名2],... #当import导入模块之后,被导入的代码会从头到尾被执行一次
模块名.变量名/函数/... #使用导入后的内容
import random #导入random模块
random.randint(1,100) #使用模块中的randint()生成1-100的随机数
2.from 模块 import 名字1 [as 别名1],名字2[as 别名2],... #导入模块中指定名字的部分,不全部导入模块
#使用直接使用import后面的名字即可
from random import randint
randint(1,100)
3.别名可以不使用,但名字较长时我们使用别名时,原来的名字就不能用了
from random import randint as r
r(1,100)
三、模块的搜索路径
目的:为了添加新模块起名是不要与原有模块名字相同导致冲突。
模块的搜索路径:当程序有import ... 的内容的时候,进行对模块的加载
加载顺序:内建解释器中先加载 buildins.py ----脚本执行所在的模块中加载----python的path环境变量路径中加载----再到python的安装路径下加载。
四、__name__属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
#!/usr/bin/python3
# Filename: using_name.py
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
说明:
说明:__name__ 与 __main__
五、包
在python中的包,就相当于是存放.py文件的文件夹一样。
导入模块的时候要指定包
其中,在包中_init_.py 代表当前的包是python的开发包,不是普通的文件夹。当有其他的模块导入该包下的文件时,会自动的执行_init_.py的内容-----初始化包。
六、常用模块
#1.math模块
import math
print(math.sqrt(4)) #开平方根
print(math.e)
print(math.pi)
#2.random 随机数模块
import random
print(random.random()) #[0,1)之间的随机数
print(random.randint(0,10)) #[0,10]之间的随机整数
random.seed(1) #种子 让后面的随机方法,每次运行时都产生相同的值
print(random.randrange(1,10,3)) #在[1,10)之间产生1,4,7的随机数
#3.sample(li,n) 不放回抽取样本,在random模块下,li代表样本源,n表示抽取几个
import random
li = [1,-1,5,6,9,11,10]
print(random.sample(li,2)) #从li中不放回地随机抽取2个数相关推荐:python数据分析