Python最佳实践指南(文章整理)

The Hitchhiker’s Guide to Python!
Python最佳实践指南!

https://pythonguidecn.readthedocs.io/zh/latest/

结构化您的工程

文档结构

README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py
  • 核心代码:./smaple/ or ./sample.py
  • 打包和发布管理: ./setup.py
  • 单元测试: ./test_sample.py or ./tests/

模块

不要使用下划线命名空间,而是使用子模块。

# 最好的做法
import modu
[...]
x = modu.sqrt(4)  # sqrt显然是属于模块modu的。

动态类型

避免对不同类型的对象使用同一个变量名

# 差
items = 'a b c d'  # 首先指向字符串...
items = items.split(' ')  # ...变为列表
items = set(items)  # ...再变为集合

可变和不可变类型

Python 中一个可能会让初学者惊讶的特性是:字符串是不可变类型。这意味着当需要组合一个 字符串时,将每一部分放到一个可变列表里,使用字符串时再组合 (‘join’) 起来的做法更高效。 值得注意的是,使用列表推导的构造方式比在循环中调用 append() 来构造列表更好也更快。

# 差
# 创建将0到19连接起来的字符串 (例 "012..1819")
nums = ""
for n in range(20):
    nums += str(n)   # 慢且低效
print nums

# 好
# 创建将0到19连接起来的字符串 (例 "012..1819")
nums = []
for n in range(20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值