不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

开发 后端
Python语言这么火,有很多同学是从其他语言转行过来的(比如c++,java语言),多多少少写代码的时候也会受其他语言的影响!而对于刚开始学语言的小白同学来说,解决问题的思路有的时候会比较单一,其实Python有很多灵活的解法,今天通过这7招,带你写出一手漂亮的code!

Python语言这么火,有很多同学是从其他语言转行过来的(比如c++,java语言),多多少少写代码的时候也会受其他语言的影响!而对于刚开始学语言的小白同学来说,解决问题的思路有的时候会比较单一,其实Python有很多灵活的解法,今天通过这7招,带你写出一手漂亮的code!

打印index

对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

更优雅的写法是多用enumerate

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

两个序列的循环

我们会经常对两个序列进行计算或者处理,比较low的方法是用下标去循环处理

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

更优雅一点的方法:用zip轻松搞定

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

有没有更优雅的方法呢,比如如果两个序列有10000的长度,当然有的用izip

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

当然izip还是Py2.x时代的产物,现在Py3.6里面默认zip都是izip了!

交换变量

多个变量之间的交换,相信很多有c,c++语言基础的同学对这个再熟悉不过了,比如我们经典的冒泡排序,就会用这一招,看看比较传统的做法:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

更优雅的做法是:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

字典的读取

字典是我们经常使用的数据结构,对于字典的访问和读取,如果我们的读取的字典的key为空怎么办,一般我们需要一个缺省值,菜鸟的写法:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

比较优雅的做法是:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

巧妙的利用了字典get的用法,如果字典里面没有Susan这个key,则用unknow来表示缺省值!

循环查找

我们经常会在一个大的循环中作搜索业务,比如从一个文件中搜索关键字,比如从文件名列表中查找一些特殊的文件名,想当然的写法如下:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

更优雅的写法:上面的写法是传统的c,c++写法,Python里面有更简洁的写法:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

文件读取查找

通常来说,我们要打开一个文件,然后对文件的内容进行循环读取和处理,菜鸟的写法如下:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

更优雅的写法:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

关于锁的写法

对于并发操作尤其是多线程的操作,我们对同一块内存进行读写操作的时候,通常我们都加锁保护的,想当然的写法如下:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

上面这样的写法我自己写了很多年,觉得没有啥问题啊,后来遇到下面的写法,瞬间膜拜了!

更优雅的写法:

 

不一样的Python代码写法!通过这7招,即可写出一手漂亮的代码

结论:

上面这7招看起来很普通,但是深刻的理解,发现其实就是Python一贯倡导的Pythonic风格的代码,简洁而优美!

责任编辑:未丽燕 来源: 今日头条
相关推荐

2018-09-04 15:45:58

Python代码编程语言

2012-03-07 17:24:10

戴尔咨询

2012-12-20 10:17:32

IT运维

2020-02-10 13:22:35

编程语言机器学习Python

2017-05-25 15:02:46

联宇益通SD-WAN

2016-05-09 18:40:26

VIP客户缉拿

2015-10-19 12:33:01

华三/新IT

2009-06-12 15:26:02

2018-05-09 15:42:24

新零售

2011-02-28 10:38:13

Windows 8

2009-02-04 15:43:45

敏捷开发PHPFleaPHP

2009-12-01 16:42:27

Gentoo Linu

2009-01-20 10:39:00

Windows7IE 8浏览器

2016-03-24 18:51:40

2013-01-11 18:10:56

软件

2015-08-25 09:52:36

云计算云计算产业云计算政策

2009-10-27 08:55:08

Windows 7改变

2009-07-07 10:44:14

多态

2015-08-04 14:49:54

Discover

2019-01-03 14:39:08

Oracle甲骨文ORACLE
点赞
收藏

51CTO技术栈公众号