• Python进阶03 模块


     

    我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。

    模块(module)也是为了同样的目的。在Python中,一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序

     

    引入模块

    我们先写一个first.py文件,内容如下:

    def laugh():
        print 'HaHaHaHa'

    再写一个second.py,并引入first中的程序:

    import first
    

    for i in range(10):
    first.laugh()

    在second.py中,我们使用了first.py中定义的laugh()函数。

     

    引入模块后,可以通过模块.对象的方式来调用引入模块中的某个对象。上面例子中,first为引入的模块,laugh()是我们所引入的对象。

    Python中还有其它的引入方式,

    import a as b             # 引入模块a,并将模块a重命名为b

    from a import function1   # 从模块a中引入function1对象。调用a中对象时,我们不用再说明模块,即直接使用function1,而不是a.function1

    from a import *           # 从模块a中引入所有对象。调用a中对象时,我们不用再说明模块,即直接使用对象,而不是a.对象

    这些引用方式,可以方便后面的程序书写。

     

    搜索路径

    Python会在以下路径中搜索它想要寻找的模块:

    1. 程序所在的文件夹
    2. 标准库的安装路径
    3. 操作系统环境变量PYTHONPATH所包含的路径

     

    如果你有自定义的模块,或者下载的模块,可以根据情况放在相应的路径,以便Python可以找到。

     

    模块包

    可以将功能相似的模块放在同一个文件夹(比如说this_dir)中,构成一个模块包。通过

    import this_dir.module

    引入this_dir文件夹中的module模块。

     

    该文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件。

     

    总结

    import module

    module.object

    __init__.py

    如果你喜欢这篇文章,欢迎推荐

    技术推动进步,分享促进社区。

    </div>
    <div class="buryit" onclick="votePost(2574436,'Bury')">
        <span class="burynum" id="bury_count">0</span>
    </div>
    <div class="clear"></div>
    <div class="diggword" id="digg_tips">
    </div>
    
    « 上一篇:Python进阶02 文本文件的输入输出
    » 下一篇:Python进阶04 函数的参数对应
	</div>
	<div class="postDesc">posted @ <span id="post-date">2012-07-03 11:14</span> <a href="https://www.cnblogs.com/vamei/">Vamei</a> 阅读(<span id="post_view_count">53078</span>) 评论(<span id="post_comment_count">38</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=2574436" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(2574436);return false;">收藏</a></div>
</div>
  • 相关阅读:
    UVA 11997 K个最小和
    UVALive 3135阿格斯
    UVA 10635 王子和公主
    UVA11991线性查询
    UVA1339仿射和换位密码
    UVA 10382喷水设施
    LA2965字符串合并
    FatMouse's Speed--hdu1160(dp+输出路径)
    Dividing--hdu1059(动态规划)
    Piggy-Bank--hdu1114(完全背包)
  • 原文地址:https://www.cnblogs.com/king8/p/9461479.html
  • Copyright © 2020-2023  润新知