zoukankan      html  css  js  c++  java
  • python 教程 第六章、 模块

    第六章、 模块

    1) 模块

    sys模块

    字节编译的.pyc文件,优化编译后生成pyo文件

    2) from..import语句

    import sys 
    print 'The command line arguments are:' 
    for i in sys.argv: 
        print i 
    print '
    
    The PYTHONPATH is', sys.path, '
    ' 

    3) __name__

    只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块

    from sys import * 
    print 'The command line arguments are:' 
    for i in argv: 
        print i 
    print '
    
    The PYTHONPATH is', path, '
    '

    4) 制造自己的模块

    #!/usr/bin/python 
    # Filename: mymodule.py 
    def sayhi(): 
        print 'Hi, this is mymodule speaking.' 
    version = '0.1' 
    # End of mymodule.py 
    #!/usr/bin/python 
    # Filename: mymodule_demo.py 
    import mymodule 
    mymodule.sayhi() 
    print 'Version', mymodule.version 

    5) reload模块重载

    >>> import changer    #导入模块changer.py文件 
    >>> changer.printer() # No effect: uses loaded module 
    First version

    ##修改changer.py的代码##

    >>> from imp import reload 
    >>> reload(changer)   # Forces new code to load/run 
    <module 'changer' from 'changer.py'> 
    >>> changer.printer() # Runs the new version now 
    reloaded: After editing

    6) dir()函数

    列出模块定义的标识符。标识符有函数、类和变量。

    >>> import sys 
    >>> dir(sys) 
    ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright'…] 
    >>> 

    如果不提供参数,它返回当前模块中定义的名称列表。

    >>> dir() 
    ['__builtins__', '__doc__', '__name__', '__package__', 'sys'] 
    >>> a = 1 
    >>> dir() 
    ['__builtins__', '__doc__', '__name__', '__package__', 'a', 'sys'] 
    >>> del a 
    >>> dir() 
    ['__builtins__', '__doc__', '__name__', '__package__', 'sys'] 
    >>> 

    列出数据类型的可使用的函数,help函数的简体版

    >>> dir(dict) 
    ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']

    7) 包导入

    import dir1.dir2.mod #from dir1.dir2.mod import x

    dir1在PYTHONPATH路径中

    dir1目录/dir2目录/mod.py文件

    dir1目录和dir2目录下都必须含有__init__.py

    8) 修改模块搜索路径

    sys.path.append('c:\lp4e\examples')
  • 相关阅读:
    咏南微服务架构中间件
    几个开源的clickstream 分析工具
    partiql 学习一 试用
    partiql 亚马逊开源的基于sql 的查询语言
    cube.js 最新版本的一些特性
    astronomer 企业级的airflow 框架
    neodash 构建neo4j dashboard 的工具
    开发自定义的dremio 函数
    dremio sql 操作
    dremio 生产部署推荐硬件配置
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468858.html
Copyright © 2011-2022 走看看