Python的包&模块

作者: LiuShaodong | 来源:发表于2019-12-18 11:22 被阅读0次

在上一篇中,我们详细介绍了 Python 的4种变量,在讲解4种变量的作用范围时,我们提到 模块,那么模块和包到底是什么东西呢?我们将在本篇详细阐述一下。

什么是模块?

在 Python 中,模块就是一个 .py 文件,例如,my_module.pymy_module 是模块名。

什么是包?

在 Python 中,包是一个有层次的文件目录结构,就像文件夹一样,文件夹可以包含子文件夹和文件,同样地,包也可以包含 子包模块。但是 Python 的包一定要有一个 __init__.py 文件。Python 中,很多牛人把一些机器学习、深度学习、数据处理等算法写成包公布出来,再加之 Python 语言本身的简单性,导致了很多小伙伴们非常喜欢用 Python 语言编程,大大提高了工作和学习效率,下面让我们化身成为 “调包侠” ,疯狂调包!

# 调包方式一,最常见的
import time
print(time.localtime())

# 调包方式二,起个别名
import time as t
print(t.localtime())

# 调包方式三,调包中包
from time import time,localtime
print(localtime())
print(time())

# 调包方式四,all in
from time import *  #导入time包的所有功能
print(gettime())

当我们在开发自己的项目时,往往也会有些积累,把一些常用的方法规整到一起,写成工具包,以方便加速我们日后的开发效率,这时候就需要我们创建自己的模块和包:

  • 首先我们要创建一个文件夹,该文件夹的名字即是我们的包名,例如,my_output
  • 我们在 my_output 文件夹下创建一个名为 __init__.py 的 Python 文件,这是包的初始化文件,这里可以写一些初始化的代码,有人要导入我们的包时,会自动执行 __init__.py 中代码。当然我们这里不需要写,因为我们的自定义包很简单。
  • 新建模块 my_print.py,内容为:
def print_data(data):
    print(data)


def main():
    print_data("test")


if __name__ == '__main__':
    main()

然后,我们新建 package_demo.py 来演示一下调自定义的包:

from my_output import my_print


def main():
    my_print.print_data("hi,小伙伴们!")


if __name__ == '__main__':
    main()

但是以上可以成功调包是有一个前提的,那就是我们自定义的包 my_outputpackage_demo.py 是在同一个目录下的,如果我们将 my_output 放在 Python 的 site-package 目录下,那么这个限制就不必遵守了。注意,site-package 目录下存放了所有的第三方包。

相关文章

  • python 2.7 -> python 3.7 升级记录

    更换的模块 python 3.7 模块名python 2.7 模块名python 3.7 包python 2.7包...

  • Python高阶

    包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...

  • 核心开发

    Python核心开发 一.包和模块 1. 包和模块的定义 为了更加有好的对python代码进行管理,出现了包和模块...

  • Python包及其引入方法

    一、Python包 模块所在目录看做是包,目录名即为包名。 二、Python包创建 创建过程举例(模块中不包含类)...

  • Python模块与包@2018-11-21

    Python模块与包 python语言中,如果希望实现代码的重用,除去使用类之外,模块与包是不错的选择。在此对模块...

  • 包和模块

    一、python中包和模块的区别: 1.包:包含 文件的文件夹,导入模块的可通过 变量。2.模块:编写python...

  • 笔记:Python的包和模块的区别

    Python中的模块和包的英文表示: 模块的英文:Module 包的英文:Packages 对模块和包的类比理解:...

  • python 模块和包

    模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念...

  • python命名规范

    Google Python命名规范 module_name, 模块 package_name, 包 模块与包 ...

  • Python模块与包

    Python模块与包 模块 模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模...

网友评论

    本文标题:Python的包&模块

    本文链接:https://www.haomeiwen.com/subject/chgfnctx.html