Python代码规范与结构
发布日期:2022-02-14 23:02:51
浏览次数:46
分类:技术文章
本文共 979 字,大约阅读时间需要 3 分钟。
代码规范
- 其它的一些说明
- 对于
config.py
,不要在程序中直接import config
写死,可通过main
函数参数的形式来增加灵活性
- 对于
代码效率
代码结构
-
README.rstLICENSEsetup.pyrequirements.txt# 具体模块sample/__init__.pysample/core.pysample/helpers.py# 文档docs/conf.pydocs/index.rst# 测试套件tests/test_basic.pytests/test_advanced.py
- 模块是一个仓库的核心
- 如果该模块内只有一个文件,可以直接将该文件放在仓库根目录
- 模块不应该放在一个模糊的
src
目录或者随意的子目录
- 包
- 任何一个带有
__init__.py
文件的目录均被认为是Python的包。该文件目的是收集所有包范围的定义from .base import LinearRegression__all__ = ['LinearRegression']
- 面向对象编程
- 应避免不必要的面向对象编程,可用不同的业务模块来替代
- 当我们想将一些状态和功能粘合在一起时,自定义类是很有必要的
- 任何一个带有
- 装饰器
- 装饰器是一个函数或类,用来装饰函数或方法
- 相当于对被装饰函数进行嵌套
- 注意过度嵌套
- 重复使用命名对效率并没有提升:赋值时无论如何都要创建新的对象。避免对同一个变量名重复赋值
-
- 若项目名为
foo
,则该项目的仓库结构如下
Foo/|-- bin/ # 存放项目的一些可执行文件| |-- foo||-- foo/ # 所有的源码均在此处,代码模块化,入库为main.py| |-- tests/| | |-- __init__.py| | |-- test_main.py| || |-- __init__.py| |-- main.py||-- docs/ # 文档,包括配置文件| |-- conf.py| |-- abc.rst||-- setup.py|-- requirements.txt|-- README
- 说明:对于该代码结构,我比较认可
Kenneth Reitz 建议的Demo
中对测试代码的放置,独立放置,而非与源码一块
- 若项目名为
- 开源代码的仓库结构
- pandas
- sklearn
转载地址:https://blog.csdn.net/fish2009122/article/details/106618852 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月30日 00时47分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
面试:说说你对 HashMap 的认识?
2019-04-26
靠,上班打游戏!不,我只是在Minecraft里管理Kubernetes...
2019-04-26
2.5 亿!华为成立新公司!
2019-04-26
B站疯传,一整套Java学习资料,白拿不谢,叫我雷锋!
2019-04-26
超牛逼的 Feed 流系统设计!
2019-04-26
感受 lambda 之美!
2019-04-26
每日一皮:用户“这个项目很容易嘛”~
2019-04-26
面试:GET和POST两种基本请求方法有什么区别
2019-04-26
Java后端线上问题排查常用命令收藏
2019-04-26
皮一皮:原来微信备注还有这个用...
2019-04-26
955 不加班的公司名单!2021 年4月最新版!
2019-04-26
Token多平台身份认证架构设计思路
2019-04-26
Soul网关发布里程碑的2.3.0版本,新增支持GRPC,Tars,Sofa协议
2019-04-26
使用最广泛的缓存Redis,升级到6.0后超神了
2019-04-26
皮一皮:能到大四也是不容易了...
2019-04-26
什么是充血模型?什么又是贫血模型?
2019-04-26
皮一皮:程序猿表示这点不够退休...
2019-04-26
皮一皮:这位家长,建议自己退群聊...
2019-04-26
代码对比工具,我就用这7个!
2019-04-26
开源一个SpringBoot + Mybatis + Vue的代码生成器
2019-04-26