Tags : Ajax  apache  awk  besttrace  bootstrap  CDN  Django  git 

常见问题

Python:好建议

stevezhou      2014.09.01   


 关于Python编程的好建议,备忘,以便实践。

——7.将常量集中到一个文件

——8.利用assert语句来发现问题

——9.数据交换值的时候不推荐使用中间变量

——10.充分利用Lazy evaluation的特性

——13.尽量转换为浮点类型后再做除法

——15.使用enumerate()获取序列的索引和值

——16.分清==与is的适用场景

——17.考虑兼容性,尽可能使用Unicode

——18.构建合理的包层次来管理module

——19.有节制地使用from...import...语句

——22.使用with自动关闭资源

——23.使用else子句简化循环(异常处理)

——24.遵循异常处理的几点基本原则

——27.链接字符串应该优先使用join而不是+

——29.区别对待可变对象和不可变对象

——31.记住函数传参既不是传值也不是传引用

——39.使用Counter进行计数统计

对某元素出现的次数进行计数,2.7以后可用:collections.Counter

原型:class Counter(__builtin__.dict)

——40.深入掌握ConfigParser

——42.使用pandas处理大型CSV文件

——43.一般情况使用cElementTree/ElementTree解析XML

——45.JSON进行序列化

——47.使用logging记录日志信息

——49.Queue使用多线程编程更安全

——51.用mixin模式让程序更加灵活

——53.用状态模式美化代码

——54.理解built-in objects

——55.__init__不是构造方法

——56.理解名字查找的机制

——57.为什么 需要self参数

——59.理解描述符机制

——62.掌握metaclass

——63.熟悉Python对象协议

——65.熟悉Python的迭代器协议

——66.熟悉Python 的生成器

——69.对象的管理与垃圾回收

——73.理解单元测试的概念

——74.为包编写单元测试

——81.利用cProfile定位性能瓶颈

——82.使用memory_profiler和objgraph剖析内存使用

——83.努力降低算法复杂度

——84.掌握循环优化的基本技巧

——85.使用生成器提高效率

——86.使用不同的数据结构优化性能

——87.充分利用set的优势

——89.使用线程池提高效率

——91.使用Cython编写扩展模块