day16(软件开发目录规范)
模块的使用
01 模块的循环导入问题
解决方案一: 把循环导入的语句放到名字定义的后面
解决方案二: 将循环导入语句放到函数内(先定义确定名称空间)
02 区分python文件的两种用途
#当文件被执行时__name__=='__main__'
#当文件被导入时__name__=='模块名'
# if __name__ == '__main__': (输入main时可直接出现左边语句)
# f1()
03 模块的搜索路径
# 模块搜索路径的优先级
# 1. 内存中已经加载过的
# 2. 内置模块
# 3. sys.path # 第一个值是当前执行文件所在的文件夹
添加路径方式:1 sys.path.append(r'需要添加的模块路径') (sys.path本质是一个储存有路径的列表)
2 from dir1.dir2 import m2 (在执行文件同级下寻找dir1,再在dir1下寻找dir2,再在dir2下寻找m2导入)
注意:模块名绝对不能和内置模块或第三方模块同名
环境变量是以当前执行文件为准的
# 强调:所有被导入的模块参照环境变量sys.path都是以执行文件为准的
方式2中:在一个模块中导入另一个模块,也是以执行文件的环境变量(sys.path)为准的
04 绝对导入与相对导入
绝对导入: 以执行文件的sys.path为起始点开始导入,称之为绝对导入
优点: 执行文件与被导入的模块中都可以使用
缺点: 所有导入都是以sys.path为起始点,导入麻烦
相对导入: 参照当前所在文件的文件夹为起始开始查找,称之为相对导入
符号: .代表当前所在文件的文件加,..代表上一级文件夹,...代表上一级的上一级文件夹
优点: 导入更加简单
缺点: 只能在被导入的模块中使用,不能在执行文件中用
注意:执行文件中只能用绝对导入
05 软件开发的目录规范
ATM (程序存放的总文件,也是项目的名字,所有相关文件军存放在这里)
bin (程序开始文件存放地点,就是执行文件的所在地)
start.py (执行文件的文件名,可以有start.py2,和start.py同级)
conf (存放程序中相关参数的文件的地点,所有相关参数的文件都放在这里)
settings.py (存放参数的文件,但参数有很多种的时候,可以是多个)
core (主体核心程序的存放地点,最重要的部分)
src.py (主体核心程序,需要是可以有多个)
db (需要永久保存数据的地点)
userinfo.txt(存放用户信息的文件,也可以有存放商品信息的文件等多个文件)
lib (存放自定义常用模块的地点)
common.py (自定义常用的模块1,可以有多个2,3,4,....)
log (存放日志文件的地方)
transaction.log (日志文件,用于存放交易记录,可以是多个)
Readme(解释程序功能和每个文件作用的文件,方便用户的使用和查看)
day16(软件开发目录规范)的更多相关文章
- Python记录13:软件开发目录规范
软件开发目录规范 开发一个软件,一个工程项目,一般应该具备以下的几个基本的文件夹和模块,当然,这并不是一成不变的,根据项目的不同会有一定的差异,不过作为一个入门级的新手,建议暂时按照以下的规范编写: ...
- Python 浅谈编程规范和软件开发目录规范的重要性
最近参加了一个比赛,然后看到队友编程的代码,我觉得真的是觉得注释和命名规范的重要性了,因为几乎每个字符都要咨询他,用老师的话来说,这就是命名不规范的后续反应.所以此时的我意识到写一篇关于注释程序的重要 ...
- python 之 软件开发目录规范 、logging模块
6.4 软件开发目录规范 软件(例如:ATM)目录应该包含: 文件名 存放 备注 bin start.py,用于起动程序 core src.py,程序核心功能代码 conf settings. ...
- Python模块:Re模块、附软件开发目录规范
Re模块:(正则表达式) 正则表达式就是字符串的匹配规则 正则表达式在多数编程语言里都有相应的支持,Python里面对应的模块时re 常用的表达式规则:(都需要记住) “ . ” # 默认匹配除 ...
- python模块导入-软件开发目录规范-01
模块 模块的基本概念 模块: # 一系列功能的结合体 模块的三种来源 """ 模块的三种来源 1.python解释器内置的模块(os.sys....) 2.第三方的别人写 ...
- py 包和模块,软件开发目录规范
目录 py 包和模块,软件开发目录规范 什么是包? 什么是模块? 软件开发目录规范 py 包和模块,软件开发目录规范 什么是包? 包指的是内部包__init__.py的文件夹 包的作用: 存放模块,包 ...
- python基础语法10 函数递归,模块,软件开发目录规范
函数递归: 函数递归指的是重复 “直接调用或间接调用” 函数本身, 这是一种函数嵌套调用的表现形式. 直接调用: 指的是在函数内置,直接调用函数本身. 间接调用: 两个函数之间相互调用间接造成递归. ...
- python浅谈编程规范和软件开发目录规范的重要性
前言 我们这些初学者,目前要做的就是遵守代码规范,这是最基本的,而且每个团队的规范可能还不一样,以后工作了,尽可能和团队保持一致,目前初学者就按照官方的要求即可 新人进入一个企业,不会接触到核心的架构 ...
- day21 模块与包+软件开发目录规范
目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...
随机推荐
- linux配置 ssh 免密 登录
1:第一步给每一台电脑生成公私钥 使用 在 root 目录下面 使用 ssh-keygen -t rsa ,然后不停敲回车.就可以生成公私钥.默认放在 .ssh 目录下面. 2:进入.ssh ...
- HDU3501——欧拉函数裸题
给整数N(1 ≤ N ≤ 1000000000),求小于N的与N不互素的所有正整数的和. 思路:1.用欧拉函数求出小于N的与N互素的正整数的个数: 2.若 p 与 N 互素,则 N-p 必与 N 互素 ...
- [转]Python中yield的解释
转自: http://python.jobbole.com/83610/ 本文作者: 伯乐在线 - wklken .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 翻译 来源于stackover ...
- google浏览器查看源码快捷键 ctrl+U
google浏览器查看源码快捷键 ctrl+U 或则在地址栏的网址前加上:view-source:
- windows10中git-bash闪退的解决办法
windows10中git-bash闪退的解决办法 出现错误详情 Windows10 64位专业版安装git .18之后出现 Git闪退,报错信息:bash: /dev/null: No such d ...
- 超级账本Hyperledge的kafka共识算法里的Topic 与 Partition
Topic在逻辑上可以被认为是一个queue队列,每条消息都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为 了使得Kafka的吞吐率可以水平扩展,物理上把topic分 ...
- 5分钟搭建 nginx +php --------------(LNMP)新手专用
5分钟搭建 nginx +php --------------(LNMP)新手专用 2014-11-14 16:48 88876人阅读 评论(2) 收藏 举报 版权声明:本文为博主原创文章,未经博主允 ...
- C#中winform使用相对路径读取文件的方法
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73b6cd0d3027fa3cf1fd579080101 ...
- hadoop HA分布式集群搭建
概述 hadoop2中NameNode可以有多个(目前只支持2个).每一个都有相同的职能.一个是active状态的,一个是standby状态的.当集群运行时,只有active状态的NameNode是正 ...
- php 测试 程序执行时间,内存使用情况
memory_get_usage 可以分析内存占用空间. microtime 函数就可以分析程序执行时间. 上栗子: echo '开始内存:'.memory_get_usage(), ''; $tmp ...