编程规范
今天公司新出了一套 Python 编程规范 2.0,一直觉得自己写代码路子有点野,所以仔细的看了下。
多数的内容在网上都能搜到,但有几点需要说说
让我觉得羞愧的注释率
公司要求代码注释行,占代码总行数的 20%,而我经常一套代码写下来注释寥寥几行。甚至在 Linux 下写代码的时候,由于系统语言包问题,pycharm 没办法打中文,经常出现通篇没有一行注释的情况…所谓,写自己的代码,让别人无处维护也就不过如此。但过了仗剑走天涯的年纪,要开始学着沉淀自己,不为别的,就为现在年轻的小伙子各个吃的好,长得壮。
规避单一循环
这一点代码要求是我欣然接受的,我这人懒,能偷懒的偷懒,不能偷懒的想办法也要偷懒。这次的代码规范要求,单一辑的 for 循环,通过 Python 推导式完成,但嵌套 for 循环禁止使用。我默默的忽略后面这句,for 循环推荐 Python 推导式…
为什么喜欢推导式?因为省事儿、看这高端啊。最怕人说程序猿就是 if …else + for 循环了…
Python 推导式
今天就给大家介绍下 Python 推导式的使用
推导式(又称解析式) 是 Python 的一种独有特性。
推导式是可以从一个数据序列构建另一个新的数据序列的结构体。一共有三种推导:
列表(list)推导式
字典(dict)推导式
集合(set)推导式
列表推导式 (list comprehensions)
列表推导式(又称列表解析式) 提供了一种简明扼要的方法来创建列表。
它的结构是在一个中括号里包含一个表达式, 然后是一个 for 语句, 然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的, 意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表, 在这个以 if 和 for 语句为上下文的表达式运行完成之后产生
规范
这是另外一个简明例子:
列表推导式在有些情况下超赞, 特别是当你需要使用 for 循环来生成一个新列表。举个例子, 通常一般人会这样做:
你可以使用列表推导式来简化它:
集合推导式(set comprehensions)
至于集合推导式,跟列表推导式大同小异,不过在去重方面是 set 的强项
举个栗子:
字典推导式(dict comprehensions)
字典推导式,使用的场景比较少,但是有一点是超级赞的!
问题:遇到字典的键值对互换,你会怎么操作?
使用 for 循环?
使用 zip?
say no,你应该使用字典推导式!
评论