python基本写法_七个不一样的Python代码写法,让你写出一手漂亮的代码

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

打印index

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

40d91fd1d9d82729a3de908335c4c5cc.jpeg-wh_651x-s_4112497541.jpeg

更优雅的写法是多用enumerate

dae91aff8585042254ec964f5160d724.jpeg

两个序列的循环

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

bacc54fcc4952a6a27514e249992f607.jpeg

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

30514f372c06a1bd44637cc2ba40e619.jpeg

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

acf164c4bf3fac5db429ba7a94a89bd4.jpeg

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

交换变量

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

02e93d822f9cbc9d7a38223bed1662cc.jpeg

更优雅的做法是:

2230ec9c2a455259ca40b8c23920f4c4.jpeg

字典的读取

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

cf8c5ad7fe05a3e96f8c696cb8f3d4ad.jpeg

比较优雅的做法是:

02baf1d068536c4dec27e4d0d920b45a.jpeg

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

循环查找

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

e873aeb9f43435106a0b60d8593d5613.jpeg

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

63a77a73695dfb9794e0a58f826e188a.jpeg

文件读取查找

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

080694f068c1a825f31b669e644c9062.jpeg

更优雅的写法:

fb441acb2ac87f4fd332f1ad5cd2fa1b.jpeg

关于锁的写法

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

2cd3e0e9fecc17cb6326450d7bba6569.jpeg

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

更优雅的写法:

218499452dd6f2f77370164d8bbdf1e8.jpeg

结论:

上面这7招看起来很普通,但是深刻的理解,发现其实就是Python一贯倡导的Pythonic风格的代码,简洁而优美!如果你要问我如何才能掌握上面的这些技巧和方法,我觉得先背下来吧,就像写唐诗,熟读唐诗三百首,不会做诗也会吟,也就是熟能生巧吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值