菜鸟学Python的第138篇原创文章
阅读本文大概需要3.8分钟
Python语言这么火,有很多同学是从其他语言转行过来的(比如c++,java语言),多多少少写代码的时候也会受其他语言的影响!而对于刚开始学语言的小白同学来说,解决问题的思路有的时候会比较单一,其实Python有很多灵活的解法,今天通过这7招,带你写出一手漂亮的code!
Python里面的经典名句,我刚开始学Python的时候也就是听听而已,现在反过来思考Python的精髓和理念,觉得句句在理(人生就是这样有的时候很多道理当时就是不以为然,只有再回首的时候,才发现为啥我当时没有领悟呢,就像10年前的买房子~~):
-
Beautiful is better than ugly.
-
Explicit is better than implicit.
-
Simple is better than complex.
-
Complex is better than complicated.
-
Flat is better than nested.
-
Sparse is better than dense.
-
Readability counts.
1
打印index
对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法:
更优雅的写法是多用enumerate
2
两个序列的循环
我们会经常对两个序列进行计算或者处理,比较low的方法是用下标去循环处理
更优雅一点的方法:用zip轻松搞定
有没有更优雅的方法呢,比如如果两个序列有10000的长度,当然有的用izip
当然izip还是Py2.x时代的产物,现在Py3.6里面默认zip都是izip了!
3
交换变量
多个变量之间的交换,相信很多有c,c++语言基础的同学对这个再熟悉不过了,比如我们经典的冒泡排序,就会用这一招,看看比较传统的做法先:
更优雅的做法是:
4
字典的读取
字典是我们经常使用的数据结构,对于字典的访问和读取,如果我们的读取的字典的key为空怎么办,一般我们需要一个缺省值,菜鸟的写法:
比较优雅的做法是:
巧妙的利用了字典get的用法,如果字典里面没有Susan这个key,则用unknow来表示缺省值!
5
循环查找
我们经常会在一个大的循环中作搜索业务,比如从一个文件中搜索关键字,比如从文件名列表中查找一些特殊的文件名,想当然的写法如下:
更优雅的写法:上面的写法是传统的c,c++写法,Python里面有更简洁的写法:
6
文件读取查找
通常来说,我们要打开一个文件,然后对文件的内容进行循环读取和处理,菜鸟的写法如下:
更优雅的写法:
7
关于锁的写法
对于并发操作尤其是多线程的操作,我们对同一块内存进行读写操作的时候,通常我们都加锁保护的,想当然的写法如下:
上面这样的写法我自己写了很多年,觉得没有啥问题啊,后来遇到下面的写法,瞬间膜拜了!
更优雅的写法:
结论:
上面这7招看起来很普通,但是深刻的理解,发现其实就是Python一贯倡导的Pythonic风格的代码,简洁而优美!如果你要问我如何才能掌握上面的这些技巧和方法,我觉得先背下来吧,就像写唐诗,熟读唐诗三百首,不会做诗也会吟,也就是熟能生巧吧!
欢迎加入小密圈
跟我一起玩数据分析
小密圈新春特价原价168, 现在只要118
推荐阅读:
2017年度电影榜单出炉
双十二来了,我爬取了淘宝上所有的羽绒服
探秘全国近1600个Python岗位数据分析
学好Python薪水有多少|我爬取了所有的Python职位
一份值得了解的Google Python风格规范指南
南京楼市火吗|16000套二手房数据分析
5分钟带你了解Python2和3的区别|从此不再纠结
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 选择python2还是python3?11/19
- ♥ python中条件锁和信号量锁的使用方法12/19
- ♥ 如何在python中设计窗口08/22
- ♥ python如何引入第三方库08/28
- ♥ 对比6款 “数据分析” 工具,学什么,一目了然!07/20
- ♥ 牛逼啦!20行Python代码让程序自动玩“合成大西瓜”!06/16
内容反馈