您现在的位置是:网站首页>>Python>>python

python模块

发布时间:2018-07-30 17:12:13作者:wangjian浏览量:523点赞量:0

    模块:

    将定义的一些方法变量等存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块

    例:

    #!/usr/bin/python3
    # 文件名: using_sys.py
     
    import sys
     
    print('命令行参数如下:')
    for i in sys.argv:
       print(i)
     
    print('\n\nPython 路径为:', sys.path, '\n')

    执行结果如下所示:

    $ python using_sys.py 参数1 参数2
    命令行参数如下:
    using_sys.py
    参数1
    参数2


    Python 路径为: ['/root', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages'] 

    1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。

    2、sys.argv 是一个包含命令行参数的列表。

    3、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。


    import语句

    例:

    support.py 文件代码

    #!/usr/bin/python3
    # Filename: support.py
     
    def print_func( par ):
        print ("Hello : ", par)
        return


    test.py 文件代码(test.py 引入 support 模块)

    #!/usr/bin/python3
    # Filename: test.py
     
    # 导入模块
    import support
     
    # 现在可以调用模块里包含的函数了
    support.print_func("Runoob")

    以上实例输出结果:

    $ python3 test.py 
    Hello :  Runoob

    from … import 语句

    Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法结构如下:

    from modname import name1[, name2[, ... nameN]]

    这个声明不会把整个模块导入到当前的命名空间中,它只会将指定模块里的指定函数引入进来

    from … import * 语句

    把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

    from modname import *

    这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。

    __name__属性

    一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

    #!/usr/bin/python3
    # Filename: using_name.py
    if __name__ == '__main__':
       print('程序自身在运行')
    else:
       print('我来自另一模块')

    运行输出如下:

    $ python using_name.py
    程序自身在运行


    $ python
    >>> import using_name
    我来自另一模块
    >>>

    说明: 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。


    说明:__name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格。


    dir()函数

    内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回:

    >>> a = [1, 2, 3, 4, 5]
    >>> import fibo
    >>> fib = fibo.fib
    >>> dir() # 得到一个当前模块中定义的属性列表
    ['__builtins__', '__name__', 'a', 'fib', 'fibo', 'sys']
    >>> a = 5 # 建立一个新的变量 'a'
    >>> dir()
    ['__builtins__', '__doc__', '__name__', 'a', 'sys']
    >>>
    >>> del a # 删除变量名a
    >>>
    >>> dir()
    ['__builtins__', '__doc__', '__name__', 'sys']
    >>>



上一篇:python输入输出

下一篇:python数据结构

0 +1