社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 代码在实践过程中的经验总结

网络大数据 • 8 年前 • 826 次点击  

关于 Python 脚本,在具体的实践过程中经常会遇到一些问题,下面将其总结,便于使用。考虑使用 Logger(logger 怎么配置,需要输出哪些信息 — 可以反向考虑,比方说看到这个 logger 的时候首先要想应该了解什么信息)

传递的数据结构如何考虑(是否对调用方有先验知识的要求,比如返回一个 Tuple,则需要用户了解 tuple 中元素的顺序,这样情况是否应该进行封装;),数据结构定义清楚了,很多东西也就清楚了。


如何操作数据库(可以学习 sqlalchemy,包括 core 和 orm 两种 api)


异常如何处理(异常应该分开捕获 — 可以清楚的知道什么情况下导致的,异常之后应该打印日志说明出现什么问题,如果情况恶劣需要进行异常再次抛出或者报警)


所有获取资源的地方都应该做 check(a. 没有获取到会怎么办;b.获取到异常的怎么办)


所有操作资源的地方都应该检查是否操作成功



每个函数都应该简短,如果函数过长应该进行拆分(有个建议值,函数包含的行数应该在 20-30 行之间,具体按照这个规范做过一次之后就会发现这样真好)


使用 class 之后,考虑重构 __str__ 函数,用户打印输出(如果不实现 __str__,会调用 __repr__ ),如果对象放到 collection 中之后,需要实现 __repr__ 函数,用于打印整个 collection 的时候,直观显示。


如果有些资源会发生变化,可以单独抽取出来,做成函数,这样后续调用就可以不用改变了


附上一份 Python2.7 代码(将一些私有的东西进行了修改)



其中 logger 配置文件如下(对于 Python 的 logger,官方文档写的非常好,建议读一次,并且实践一次)


来源:36大数据

今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/weixin/YF9TcruR5J
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1950
 
826 次点击