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编写扩展模块