python基础|模块

1 模块简介

  在python中常见的模块有三种,在python解释器中的内置模块,第三方模块和自定义模块。模块的有使用python编写的文件,有已被编译为共享库或DLL的C或C++扩展,也有使用C编写连接到python解释器的内置模块和把一些列模块组织起来的文件(文件包)。

  python使用模块内置模块,第三方模块以及内置模块,是python的一大特点。大大提高了开发效率。使用自定义模块使开发效率大大提高。自定义模块也可以减少代码冗余。

2 模块导入

  python中使用模块,必须明白执行文件和被导入的模块。

  导入模块有两种方法 import 模块名 和 from 模块名 import 模块内的对象。首先在pycharm中同级文件夹下创建两个文件,例如start.py和m1.py文件。在m1文件内写下面代码。这是使用import+模块名的方法导入,这种方式执行文件start,被执行文件m1。start在使用m1中的变量时,需要加前缀模块名.使用对象。这种指名道姓,不会与start文件相同名字的变量冲突。

# m1文件中的代码
def func():
    print('from 01 of func')

# start文件中的代码
import m1   # 导入m1文件
m1.func()     # 执行m1文件中的函数function()

>>>from 01 of func

  在上面的模块调用,实质上经历三个步骤。第一步在start文件内创建一个模块的名称空间,第二部执行m1文件中的代码,将执行过的代码放在m1的名称空间。第三步继续执行start的代码,执行到m1.func()。执行该函数在m1中的代码。

  如过被执行文件名过于繁杂,还可给被调用文件名起个别名。import 模块名 as 别名。在下面需要调用该文件是。前缀名可以用别名来替代。此外,import可以同时导入多个模块,在每个模块名用逗号隔开即可。但不建议使用,因过多的模块,使程序读取来不清晰。

# 使用from 模块名 import 模块内的对象
from m1 import func
func()

>>>from 01 of func

  这是另一种导入模块的方法,这种方法可以精准的导入m1文件内的变量对象。在使用时可以直接使用,但是执行文件有相同变量名,在执行时会有冲突。

  需要注意的是,执行文件对模块的搜索优先级是首先搜索内存中的模块,就是内置空间的模块,最后sys.path中的模块。文件被导入都是参考执行在sys.path的位置。

  文件导入有绝对导入和相对导入。以执行文件的在sys.path中的位置查找导入称之为绝对导入,执行文件与被导入的模块中都可以使用。相对导入是当前所在文件位置查找。.代表当前所在文件的文件加,..代表上一级文件夹,...代表上一级的上一级文件夹。使用方便,但不能在被执行文件使用。

# 在被执行文件打印
print(__file__)
>>>main

# 被调用时
>>>m1   #模块名

  软件开发目录规范

  软件开发目录规范在一个项目文件夹下分文件夹做项目。一个项目开发下的子文件夹大致有者八个文件:1,bin文件夹,这个文件内有装有项目启动文件(start)。2, conf文件夹,这个文件夹下装配置文件(setting)。3, lib文件,装有公共功能的文件(common)。4,core文件夹,装有核心逻辑的文件(src)。5,log文件夹装有日志。7,db文件,装有数据文件。8,Readme文本文件,对项目的说明都可以写在这里。

  

  

  

原文地址:https://www.cnblogs.com/huaiXin/p/11196779.html