zoukankan      html  css  js  c++  java
  • Python中模块、库、包的概念

    一、模块(Moudule)

    1.模块的概念

    每一个python脚本都是一个可执行.py文件,也就是一个模块,每一个模块包含着许多方法,也就是函数。模块是一个有组织的代码片段。

    创建一个模块(其路径如下):

    RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python35/Moudule.py 
    

    模块该模块的函数:

    #Authors:xiaobei
    def func1():
        return 1
    def func2():
        return 2
    def fun3():
        return 3
    print("This is a Moudule")

    2.模块的导入

    模块的导入与库的导入方式相同

    #import + 模块名
    import Moudule

    3.模块的引用于__name__属性

    模块的引用:
    (在另一脚本文件中调用Moudule模块)

    n = Moudule.func1()
    print(n)

    运行结果:

    This is a Moudule
    1
    

    我们看到了两个输出:第一行是模块内的输出,第二行才是我们想要的主程序输出。出现这样的结果是因为我们在调用Moudule模块时,并运行它。
    但是,往往我们不需要运行它,而是仅仅调用模块内的方法(即使Moudule模块中没有输出,我们仍不希望使它运行来消耗资源)。所以我们用到每个模块(或者脚本文件)的__name__属性。
    代码如下:

    if __name__ == "__main__":
        print("Moudule is ranning")
        print(__name__) 	 #作为检测1
    else:
        print("Moudule is called")
        print(__name__)	#作为检测2
        def func1():
            return 1
        def func2():
            return 2
        def fun3():
            return 3

    当Moudule模块被当做程序运行时,__name__属性返回"main",否则(被调用时)返回模块名。则在两种状态下的结果不同:
    1.运行时:

    Moudule is ranning
    __main__
    

    2.被调用时

    Moudule is called
    Moudule
    

    二、库(Library)

    1.库的概念

    库是具有 相关功能模块的集 合。这也是Python的一大特色,即具有强大的库。

    2.库的分类:

    1. 标准库:Python内置库
    2. 第三方库:由他人写成,分享出来的库
    3. 自定义库:自己所写,为自己所用(与第三方库相对)

    3.第三方库的安装

    pip install +(库名)
    

    三、包(Package)

    1.包的概念

    包是具有层次的目录文件结构,它定义了有无数个模块或无数个子包组成的Python应用程序执行环境。

    包目录[示例]
    |
    |——— ——[Package]
    |      —— ——[__init__.py]
    |      —— ——[moudule1.py]
    |      —— ——[moudule2.py]
    |      —— ——[Sub-Package1]
    |               —— ——[__init__.py]
    |               —— ——[moudule3.py]
    |               —— ——[moudule4.py]
    |      —— ——[Sub-Package2]
    |               —— ——[__init__.py]
    |               —— ——[moudule5.py]
    |               —— ——[moudule6.py]
    |      —— ——[moudule7.py]
    |      —— ——[moudule8.py]
    

    但只有含有__init__.py文件的才能算是一个包,这个文件中可以什么都不写,只是作为一个标识,也可以写一些初始化包的代码。也就是说,包是一个包含了__init__.py文件的文件夹。每次调用包时,都会执行__init__.py文件。

    2.区别

    模块、库、包的区别是定义及范围不同,调用方法有相似之处。

  • 相关阅读:
    推荐一个wpf&sliverlight的图表控件
    数独求解
    WPF中的 CollectionChanged事件通知
    Windows 7 任务栏之缩略图预览(Thumbnail)
    把Google HK设为IE默认的搜索引擎
    F#小记——1. Hello F#
    F#小记——2. 基本数据类型
    使用异步socket的时候需要注意memory spike
    《everytime you kissed me》的中文歌词
    我回来了o(∩_∩)o...
  • 原文地址:https://www.cnblogs.com/slz99/p/12527748.html
Copyright © 2011-2022 走看看