美文网首页
python 高阶编程

python 高阶编程

作者: Helen_Cat | 来源:发表于2019-03-23 14:51 被阅读0次

    python 除了速度慢 稳定性差 不够健壮 真的没有其他缺点 !!
    正常使用python 基本编程就够了,但是正是因为 python的性能差,我们如果可以使用python高效编程将大大提高运行速率,顺便举个例子
    上周在牛人的启发下 自己用python 实现了推荐系统常用的ALS 最小二乘算法,原来的大牛 人家使用的是嵌套list 来实现Matrix ,代码很健壮 ,相同的数据集迭代十次 ,基本上三四分钟,而我为了寻找其他途径的可能使用 defaultdict(lambda:list()) 来模拟Matrix ,发现性能差了非常大,我这个要迭代十次,大概三个小时。。。 耗时主要在 矩阵相乘阶段计算rmse损失值
    后来我对 这部分代码做了相关优化,迭代十次的耗时压缩到了20分钟内,但是还是 有差距,后来我干脆直接把大牛的一部分矩阵相乘的代码拿来即用,耗时压缩到了13分钟,还是有差距,那这个时候的差距就不是代码问题,是你所选择的数据容器,你用dict 模拟矩阵 效率要差于嵌套的list,所以我们看 ,好的性能 源自你如何去选择好的数据容器和足够优化你的代码结构和逻辑。

    python的 高阶编程其实一点也不深奥 ,集中于
    1.列表推导 字典推导

    1. map filter reduce lambda表达式
    2. 装饰器 和属性装饰
      4.生成器
      5.动态属性 装饰
      6.正确的使用拆箱装箱
      7.上下文管理器
      8.描述器
      9.正确使用数据容器
      https://www.cnblogs.com/keep-going2099/articles/8179177.html
      https://www.cnblogs.com/wangjian8888/p/6111701.html

    对我而言我认为 对生成器 yield还是有点模糊,其他的都比较容易理解
    关于 生成器 yield 有一篇不错的文章
    https://www.jianshu.com/p/babb4add9245

    相关文章

      网友评论

          本文标题:python 高阶编程

          本文链接:https://www.haomeiwen.com/subject/tgrsvqtx.html