模块

作者: 海阔天空呢 | 来源:发表于2017-08-18 14:15 被阅读0次

    重用一个代码块是通过定义函数来实现,要重用一系列代码块,则通过定义模块来实现。

    编写模块有很多种方法,其中最简单的一种便是创建一个包含函数与变量、以.py为后缀的文件。使用撰写 Python 解释器本身的本地语言来编写模块(比如c语言)。且在编译后,可以通过标准 Python 解释器在你的 Python 代码中使用它们。一个模块可以被其它程序导入并运用其功能。

    Python的标准安装中还包括一组模块,称为标准库。


    import语句从外部导入模块:

    1、 >>>import math

           >>>math.sin(0)

           0.0

    注:模块.方法 或 模块.变量 这种形式清晰地表明从属于对于的模块,因而不会与程序中来自其他模块的同名元素冲突。

    2、>>>from math import sin

          >>>sin(0)

          >>>0.0

    还可以:from 模块 import 功能1,功能2,功能3

                   from 模块 import * (引入模块中所有功能)

    还可为使用as语句为模块重命名:

    import 模块名 as 自定义名

    >>>import math as foobar

    >>>foobar.sqrt(4)

    2.0

    当然as语句不光为模块名,也可为函数重命名:

    from 模块 import 功能 as 自定义名

    >>>from math import sqrt foobar

    >>>foobar(4)

    2.0


    命令行参数;

    对于标准库和自定义的模块,与由编写解释器的本地语言来编写的内建模块存在于解释器中不同,前者需要存储在以.py为后缀的模块文件中。这些模块中包含着一系列的函数和变量。


    引用模块函数时怎么写入变量呢?不可能每次都找源码复制设变量值粘帖吧。所以就要用到命令行参数:

    即以命令行的格式写入参数;

    例如模块保存在名为 module_using_sys.py 的文件中时,命令行参数为 $ python module_using_sys.py we are arguments——格式为$ python 模块文件名 参数 参数 参数...Python 将命令行参数存储在sys.argv变量中供我们使用。故可引用sys模式,通过sys.argv返回一个由脚本名称(模块文件名)和所有参数组成的列表。(注:列表下标0即第一个元素为脚本名,后面依次各参数,一个参数占一个位置)

    如果它不是一个已编译好的模块,即用 Python 编写的模块,那么 Python 解释器将从它的sys.path变量所提供的目录中进行搜索。如果找到了对应模块,则该模块中的语句将在开始运行,并能够为你所使用。在这里需要注意的是,初始化工作只需在我们第一次导入模块时完成。



    模块的name属性:不懂

    编写自定义模块:

    很简单,每一个程序其实都可以成为一个模块的内容,保存在以.py为扩展名的文件中。

    eg:

    先一个函数存为模块:

    def say_hi():

        print('Hi, this is mymodule speaking.')

    _version_='0.1'

    另一个模块(保存于mymodule_demo.py):

    import mymodule

    mymodule.say_hi()

    print('Version',mymodule.__version__)

    输出:

    $ python mymodule_demo.py

    Hi, this is mymodule speaking.

    Version 0.1

    想要知道一个模块内有哪些函数与变量,可以使用dir方法,语法为:

    dir(模块名)

    此笔记就此终结,其他的在应用中去理解!!!


    相关文章

      网友评论

          本文标题:模块

          本文链接:https://www.haomeiwen.com/subject/qougrxtx.html