• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python--模块(Module)和包(Package)详解

    一、模块的导入

    1.什么是模块(module)

    模块就是Python文件,里面定义了很多的函数、类、变量 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要 性。

    2.模块有什么作用

    在python交互式解释器中操作输入的代码,在退出python时是不会被保存的; 而模块文 件中的代码是永久存在的。
    减少重复代码, 减少工作量(写的量、改的量)、代码更优雅、拿来主义

    3.模块的分类

    Python许多时候自己定义的函数,需要经常调用时;就可以自己定义一个模块,将常用函数写入模块里,下次使用常用函数时直接导入模块,就可以使用函数了

    4.什么是包(package)

    Python包实际上是一个目录

    包结构的目录里面可以有一个__init__.py模块

    py2与py3 的区别

    py2:init.py是必须的

    py3:init.py是可选的

    模块和包名要尽量和内置的模块名不相同,不然会覆盖内置的模块

    5.import/fromimport导入


    6.使用名字导入

    7.制作包与模块

    包pack01:one.py,two.py,three.py

    包pack02:three.py

    文件内容:print(“我是xxx.py”)


    8.同一个模块重复导入


    当同一个模块重复导入时,只执行第一次

    导入重名的模块


    两个都会执行,当前生效的是后导入的模块

    重名的模块,as取别名


    9.相对导入

    相对导入使用.或…来进行导入

    相对导入只能导入包中的模块/子包

    Python会自动识别一个目录是不是包对于当前被执行的文件来说:

    当前执行文件所在目录不是一个包

    子目录及更深的目录都是包

    10.模块查找顺序

    注意:不要跟Python内置的这些模块重名

    查找顺序:

    1.Python中所有加载到内存的模块都放在sys.modules。当import一个模块时首先会在这个列表中查找是否已经加载了此模块,如果加载了则只是将模块的名字加入到正在调用import的模块的Local名字空间中。如果没有加载则从sys.path目录中按照模块名称查找模块文件

    2.如果都没有找到模块名就报错

    二、Python下划线

    标识符是用来标识某种对象的名称。以下划线开头的标识符是有特殊意义的。

    1.制作包与模块

    包code:init.py,model.py,_model.py

    文件内容:print(“我是xxx.py”)


    包code:init.py,model.py,_model.py model.py

    文件内容


    2.下划线的特殊含义(模块)

    以单下划线开头的(_foo)

    表示保护对象,不能用from xxx import导入包/模块以双下划线开头的(__foo)

    表示私有对象,不能用from xxx import导入包/模块以双下划线开头和结尾的(foo)

    代表Python中特殊方法专用的标识,不建议用户使用这种命名方式。




    定义package中的__all__,用来模糊导入

    导入一个package,就会首先调用该package的__init__.py文件,用来初始化模块包

    编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)

    内置属性:name

    当自己执行时,等于__name__的值为__main__

    当被作为模块导入,等于文件名(不包含后缀, 可含模块名)

    三.文件与模块执行过程

    四.模块打包与发布

    1.如何分享模块

    如何我们写了一个计算Fab第N项的函数,如何分享给别人呢?

    拷贝? 导入问题?依赖问题?

    2.如何使用别人的模块

    我们是如何使用第三方模块的?

    pip  tar .gz

    3.setuptools工具

    Setuptools是一个给开发者构建和发布python包的工具,特别是当包依赖于其他包时。

    官方文档:https://docs.python.org/3/distutils/examples.html

    五.软件目录结构规范

    1.定义目录结构目的

    2.软件目录结构规范

    docs => 文档

    REMEME.txt

    LICENSE

    Data

    3.如何用导入模块与包

    用相对导入的方式导入数据

    六. 课后作业

    总结

    对于pyhton模块命名空间作用域, 一定要注意成员变量的范围

    对于__name__属性的使用, 防止代码大量加载运行

    对于模块的导入的几种方式要灵活去运用

    Python模块的打包

    软件目录结构

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

    您可能感兴趣的文章:
    • 五分钟学会Python 模块和包、文件
    • Python如何将模块打包并发布
    • python 制作python包,封装成可用模块教程
    • Python包和模块的分发详细介绍
    • Python安装依赖(包)模块方法详解
    上一篇:pytorch教程实现mnist手写数字识别代码示例
    下一篇:pytorch教程网络和损失函数的可视化代码示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python--模块(Module)和包(Package)详解 Python--,模块,Module,和包,