作家
登录

写的代码又被喷?8招让你的代码更Pythonic

作者: 来源: 2017-09-08 15:03:08 阅读 我要评论

写的代码又被喷?8招让你的代码更Pythonic

Python是一门异常灵活的说话,很多语法是其他说话不具备的,特别是对于大年夜C、Java等说话转向Python的仁攀来说,很轻易按照C、Java等说话的写法来写Python,对于初学者来说,如不雅对Python说话的懂得不敷透辟,就会写出很冗余的代率攀来。

这篇文┞仿,重要介绍几个简单技能,让你在写Python代码,更Pythonic。

变量交换

  • Pythonic写法

  • 通俗写法

轮回遍历区间元素

在Python2中,有range和xrange2种写法,xrange是生成器写法,更节俭内存。Python3中的range等价于Python2中的xrange。

生成器,只有在应用时才会动态生成,并且只能应用1次,比如range(1000000),Python2中会在内存中生成1百万个元素的列表,而在Python3不会生成列表,而是生成器,占用很小的内存。

若何你还在应用Python2,建议用xrange代替range

  • Java的写法

  • 生成器扩大

开首如不雅有大年夜量的删除和插入操作,避免应用list

索引

  • Pythonic写法  

 

  • 通俗写法  

显然,Pythonic写法加倍直不雅,优雅。

字符串拼接

  • Pythonic写法  

  • 通俗写法

每次+操作都邑产生新字符串,造成内存浪费,而join,全部过程中只会产生一个字符串对象

文件打开与封闭

  • Pythonic写法

list也可以用pop(0)来删除第一个元素,然则list在内存中是次序存储的,删除第一个元素,会导致之后的所有元素都邑前移,效力很低,插入类似。

  • 通俗写法  

应用with,Python将主动治理文件流的打开与封闭,无需手动操作

列表操作

  • Pythonic写法 

  • 通俗写法 

如不雅在应用Python2,请用iteritems代替items

解构赋值

  • Pythonic写法 

  

字典也类似,在Python2中,字典的items办法将返回列表,当字典比较大年夜时,如许会很耗内存。而iteritems办法返回的是生成器。

Python3中,没有iteritems,items等价于Python2的iteritems。

推导式

  • Pythonic写法 


  推荐阅读

  "互联网+乡村旅游"产品创新升级路径

"互联网+"的本质是企业或者公司经由过程互联网收集海量的信息和数据,大年夜平分析、倾听花费者的心声和核心诉求,以此快速改进产品和办事,供给极致的花费体验,改良客户体验是"互联网+">>>详细阅读


本文标题:写的代码又被喷?8招让你的代码更Pythonic

地址:http://www.17bianji.com/lsqh/37261.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)