51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2211|回复: 0
打印 上一主题 下一主题

python中的模块、库、包有什么区别?

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2017-9-27 22:48:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    说中文是没法让人理解的,我猜你指的是 module、lib 和 package
    module:一个 .py 文件就是个 module
    lib:抽象概念,和另外两个不是一类,只要你喜欢,什么都是 lib,就算只有个 hello world
    package:就是个带 __init__.py 的文件夹,并不在乎里面有什么,不过一般来讲会包含一些 packages/modules
    scrapy、flask、Django、numpy、scipy、NLTK、jieba 在你的语境下,一般都被认为是 lib,因为关注点不是他们的代码是怎么组织的。

    简单讲,Package是由很多module组成,来实现某种功能,modules由函数和类组成。库是抽象概念,也可以是各种模块组成。

    python模块是:
               自我包含并且有组织的代码片段为模块。
               表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。
    python包是:
               包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
           通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。


    库(library)
    库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

    python库是参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。在python中是包和模块的形式。一般按照API的惯例来设计库。
    应用程序接口英语Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。

    Django,flask这些是框架。
    框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。

    简单讲,Package是由很多module组成,来实现某种功能,modules由函数和类组成。库是抽象概念,也可以是各种模块组成。


    作者:laike9m
    链接:https://www.zhihu.com/question/30082392/answer/48656054
    来源:知乎





    扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 15:04 , Processed in 0.074730 second(s), 34 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表