模块
Posted du704
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块相关的知识,希望对你有一定的参考价值。
模块
定义方法
在我们之前的学习中我们知道在python内置命名空间中定义了很多函数(例如len)和类(例如list)。
除了内置的定义外,标准的python程序分配包括数以千计的数值、函数以及被组织在附加库中的类(称之为模块,一个程序内可以导入)。比如time
模块、random
随机数模块。
python的import
声明可以将定义从一个模块载入当前的命名空间中,import
语法形式如下:
from time import sleep,time
这个命令将在time
模块定义的time
和sleep
添加到当前的命名空间中,允许直接使用sleep()
函数方法。如果有许多定义来自导入的同一模块,则可以使用*
,如:
from time import *
但是这种形式应该谨慎使用。危险在于,模块中定义的一些名称可能会与当前命名空间中的名称有冲突(或与导入的另一模块冲突),而导入的模块会产生新的定义去替换原有的定义。
另一种可以用于相同模块访问许多定义的方法就是导入模块本身,语法如下:
import time
同时将标识符time
以及作为其值的模块引入当前的命名空间。一旦引入,模块中的定义可以用一个完全限定的名称来访问,例如time.sleep(1)
创建模块
如果要创建模块,我们只需要简单地把相关的定义放在一个扩展名为.py
的文件里。这些定义可以从同一个工程目录下的其他.py
文件中到入。导入语法见上文。
需要我们注意的是,当第一次导入时,模块源代码的顶层命令会被执行,就好像这个模块是自己的脚本。在模块中,如果该模块被直接调用作为一个脚本,而不是从另一个脚本导入模块时,将执行该模块中嵌入命令的特殊构造。
这样的命令应放在如下形式的条件语句中:
if __name__ = '__main__'
现有模块
除了自定义模块、内置模块,还有很多第三方模块和包(把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py
文件,该文件夹称之为包)),我们就先了解一些现有的对我们帮助比较大的现有模块吧!
常用模块名 |
---|
time |
datetime |
random |
os |
sys |
json 和 pickle |
hashlib 和 hmac |
logging |
numpy |
pandas |
matplotlib |
re |
typing |
shutil |
xml |
以上是关于模块的主要内容,如果未能解决你的问题,请参考以下文章
python内几种常用内置模块的介绍,包括time模块,datetime模块,random模块,os模块,sys模块,hashlib模块
python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)