• 模块(一)


    模块

    定义方法

    在我们之前的学习中我们知道在python内置命名空间中定义了很多函数(例如len)和类(例如list)。

    除了内置的定义外,标准的python程序分配包括数以千计的数值、函数以及被组织在附加库中的类(称之为模块,一个程序内可以导入)。比如time模块、random随机数模块。

    python的import声明可以将定义从一个模块载入当前的命名空间中,import语法形式如下:

    from time import sleep,time
    

    这个命令将在time模块定义的timesleep添加到当前的命名空间中,允许直接使用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
  • 相关阅读:
    502 bad gateway错误的网关
    nodejs发展
    edgejs
    websocket nodejs实例
    nodejs原码
    node案例
    node 与php整合
    node c#
    jquery
    express
  • 原文地址:https://www.cnblogs.com/Du704/p/11366525.html
Copyright © 2020-2023  润新知