zoukankan      html  css  js  c++  java
  • 模块(一)

    模块

    定义方法

    在我们之前的学习中我们知道在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
  • 相关阅读:
    Delphi公用函数单元
    Delphi XE5 for Android (十一)
    Delphi XE5 for Android (十)
    Delphi XE5 for Android (九)
    Delphi XE5 for Android (八)
    Delphi XE5 for Android (七)
    Delphi XE5 for Android (五)
    Delphi XE5 for Android (四)
    Delphi XE5 for Android (三)
    Delphi XE5 for Android (二)
  • 原文地址:https://www.cnblogs.com/Du704/p/11366525.html
Copyright © 2011-2022 走看看