本文章主要说明python工程层级划分、导包方式、__name__和开发规范
一、python工程层级结构划分
python工程层级结构为:工程->包->模块->类、函数、变量。
其中工程指一个工程项目;包指包含“__init__.py”文件的“文件夹”,当导入某个包下面的模块时,会自动运行该包下面的“__init__.py”文件,且只会执行“一次”;模块指“.py”文件。
二、导入包的两种方式
Python中导入包的方式有两种,分别是:
方式一:import 包.模块 as 别名
方式二:from xlutils.copy import copy
当使用方式一进行导包时,只能细化到模块层级(类似路径),并且需要给定一个别名(若不给定别名,在引用该模块下的函数或类时,需要补全导入路径,例如:包.模块.函数)。该方式导入的是一个模块。
当使用方式二进行导包时,能够细化到模块下的函数层级,且能够通过“,”同时导入多个函数、类等。
以上两种方式适合导入同级目录下或子目录下的模块和函数等。如果需要导入上级目录中的包时,则需要在导入前给定一个系统路径(指搜索包时的起始路径)。代码如下:
import sys
sys.path.append("D:\\file\\workspace_vscode")
三、__name__变量
__name__的值有两类,当直接执行该参数所在模块时,其值为“__main__”;当间接(采用导入方式执行)执行时,其值为所在模块的名字或路径。
__name__变量一般用于判断其所在模块是否是主入口程序,代码为:
if __name__ == '__main__':
print('我是程序主入口')
当然,以上代码出现在非程序主入口的其他模块中,则其功能为测试,因为通过主入口程序无法执行非程序主入口中此类判断中的代码。
四、python工程开发规范
python官方提供了一个工程开发命名规范,详见PEP 8 -- Style Guide for Python Code。下面将列举一些常见的规范。
1、命名规范
类名采用驼峰命名法,即单词首字母大写
其他名称采用“小写子母+‘_’”格式
2、导入规范
一个模块的导入代码要写在该模块的上方,优先导入系统自带的模块,其次导入安装的第三方模块,最后导入自定义的模块。
3、注释规范
在模块的最上方用“多行注释”注释说明该模块的所有功能。并在需要说明的代码上方采用“单行注释”进行说明。
4、断行规范
对于过长的代码,可适当采用“回车”规范展示代码,以免代码过长溢出屏幕。
5、空格规范
要适当使用代码规范。例如:
a = 10