下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >编程语言 >Python这样写更优雅(一)

Python这样写更优雅(一)

spring发布于 2017-09-12 09:30查看:972回复:1

        Python 这门语言最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。但有时候我们写代码,特别是 Python 初学者,往往还是按照其它语言的思维习惯来写,那样的写法不仅运行速度慢,代码读起来也费尽,给人一种拖泥带水的感觉,过段时间连自己也读不懂。

        《计算机程序的构造和解释》的作者哈尔·阿伯尔森曾这样说:“Programs must be written for people to read, and only incidentally for machines to execute.”

        要写出 Pythonic(优雅的、地道的、整洁的)代码,还要平时多观察那些大牛代码,Github 上有很多非常优秀的源代码值得阅读,比如:requests、flask、tornado,笔者列举一些常见的 Pythonic 写法,希望能给你带来一点启迪。

        1、变量交换

        大部分编程语言中交换两个变量的值时,不得不引入一个临时变量:

image.png

        pythonic

image.png


        2、循环遍历区间元素

image.png

        pythonic

image.png

        xrange 返回的是生成器对象,生成器比列表更加节省内存,不过需要注意的是 xrange 是 python2 中的写法,python3 只有 range 方法,特点和 xrange 是一样的。


        3、带有索引位置的集合遍历

        遍历集合时如果需要使用到集合的索引位置时,直接对集合迭代是没有索引信息的,普通的方式使用:

image.png

        pythonic

image.png

        

        4、字符串连接

        字符串连接时,普通的方式可以用 + 操作

image.png

        pythonic

image.png

        join 是一种更加高效的字符串连接方式,使用 + 操作时,每执行一次+操作就会导致在内存中生成一个新的字符串对象,遍历8次有8个字符串生成,造成无谓的内存浪费。而用 join 方法整个过程只会产生一个字符串对象。


收藏(0)0
查看评分情况

全部评分

此主贴暂时没有点赞评分

总计:0

回复分享

版主推荐

    共有1条评论

    • IT宅男
    • mr jack
    • Mr ken
    • Mright
    • cappuccino
    • YUI
    • 课课家运营团队
    • 课课家技术团队1
    • 酸酸~甜甜
    • 选择版块:

    • 标题:

    • 内容

    • 验证码:

    • 标题:

    • 内容

    • 选择版块:

    移动帖子x

    移动到: