py18. 包、模块、软件开发目录规范

文章目录

        • 一、什么是包/li>
        • 二、为什么要使用包/li>
        • 三、怎么使用包/li>
      • 模块
        • 一、什么是模块/li>
        • 二、 为什么要使用模块/li>
        • 三、 如何创建,编写模块,并使用模块/li>
        • 四、 模块的导入方式
        • 五、 循环导入问题
        • 六、 py文件区分两种用途:模块与脚本
        • 七、 模块的搜索路径
      • 软件开发目录规范

一、什么是包/h4>

包是一个内部带有__init__.py的文件夹,包也可以被导入,并且可以一并导入包下的所有模块。

二、为什么要使用包/h4>

包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来。
随着功能越写越多,我们无法将所有功能都放到一个文件中,于是我们使用模块去组织功能,而随着模块越来越多,我们就需要用文件夹将模块文件组织起来,以此来提高程序的结构性和可维护性。
在包中有一个__init__.py, 由它来帮我们管理模块。

三、怎么使用包/h4>

import 包.模块名
from 包 import 模块名
from 包.模块名 import 模块中的名字
导入包时发生的事情:

当包被导入时,会执行包中的__init__.py,产生一个名称空间。
,会将__init__.py中的所有名字添加到名称空间中。
接着会将包下所有的模块的名字加载到__init__.py产生的名称空间中。
导入的模块指向的名称空间其实就是__init__.py产生的名称空间。
强调:
  在python3中,即使包里面没有__init__.py文件,import 包仍然不会报错,而在python2中,包里面一定要有该文件,否则import 包报错

模块

一、什么是模块/h4>

模块是一系列功能代码的集合体。
在Python中,一个.py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能

– 模块的三种来源:

1.python内置的模块: (python解释器的)
比如: systimeosturtle

2.第三方的模块: (别人写的)
比如: requests

3.程序员自定义的模块: (自己写的)
比如: 自己定义的demo.py文件

– 模块的四种表现形式:

1.使用python编写的py文件。(了解)
2.编译后的共享库DLL或者是C或者C++库。(了解)
3.包下面带有__init__.py的一组py文件。
– 包
init.py
– demo.py
– demo2.py
4.python解释器下的py文件。
– python解释器下的文件夹
– 一个个的py文件

二、 为什么要使用模块/h4>

模块可以帮我们更好地管理功能代码,比如: 函数…
可以将项目拆分成一个个的功能,分别存放在不同的py文件(模块)中。

三、 如何创建,编写模块,并使用模块/h4>

模块在导入时发生的事情:

会先执行当前执行文件,并生成当前执行文件的的名称空间。
当执行到被导入模块的代码时,被导入的模块会产生一个模块的名称空间。
将被导入模块的名称空间加载到内存中。
import foo #导入模块foo
a=foo.x #引用模块foo中变量x的值赋值给当前名称空间中的名字a
foo.get() #调用模块foo的get函数
foo.change() #调用模块foo中的change函数
给模块起别名 as
import 模块 as 模块的别名

四、 模块的导入方式

import 模块名

  • 在执行文件中直接import导入

from 包/模块名 import 模块名/(函数名、变量名、类名)

  • 在执行文件中直接import导入

五、 循环导入问题

六、 py文件区分两种用途:模块与脚本

七、 模块的搜索路径

模块的查找顺序:

软件开发目录规范

注意: 每一次写项目时,都要新建一个文件夹与项目工程,必须让项目文件夹作为项目根目录。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树桌面应用开发Tkinter208591 人正在系统学习中

来源:琴声浮或沉__听懂只一人

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月16日
下一篇 2022年3月16日

相关推荐