版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/github_39655029/article/details/82789461
软件目录结构规范
Demo/
|-- bin/ #存放项目的一些可执行文件
| |-- demo #可执行程序,启动demo调main.py
|
|-- demo/ #存放项目所有源码,源码中所有模块、包都在此处
| |-- tests/ #存放单元测试代码
| | |-- __init__.py
| | |-- test_main.py
| |
| |-- __init__.py #空文件,有这个文件就是包,没有就是目录
| |-- main.py #程序主入口
|
|-- docs/ #用于存放一些文档
| |-- conf.py
| |-- abc.rst
|
|--conf/ #配置文件目录
|
|-- setup.py #安装、部署、打包的脚本
|-- requirements.txt #依赖关系,需要依赖的文件,用于存放软件依赖的外部Python包列表
|-- README #项目说明文件
README
包含内容: 模块及包导入
import
本质是路径搜索和搜索路径,导入模块就是把Python
文件解释一遍 ,导入包的本质是执行该包下的__init__.py
文件;面向对象
Class
类:对一类具有相同属性的对象的抽象集合;def __del__(self):
实例释放、销毁时自动执行的函数,常用于一些扫尾工作,例如关闭数据库连接,打开的临时文件等;__
;Python3.x
中经典类和新式类都是广度优先继承,Python2.x
中经典类是深度优先,新式类时广度有限继承,新式类:class Demo(object)
;hasattr(obj, attr_name)
:判断一个对象里是否有对应字符串的方法映射,getattr(obj, attr_name)
:根据字符串去获取对象中对应方法的内存地址,setattr(obj, 'str', func2)
:给对象添加新的属性,delattr(obj,attr_name)
:删除对象的属性;异常处理
try:
code
except except1:
code
except except2:
code
...
except Exception:
code