关键词:python; pythonic
pythonic就是让你的代码更加具有python特色,通常是利用python独有的一些语法实现的。pythonic的代码往往更加简洁、优美和高效,不信你接着往下瞧:
比如,交换两个变量的值,通常的做法是
而pythonic的写法只需要一行,简单高效:
这样的例子还有很多,本文将一一罗列。下面的例子中左边都是普通写法,右边都是pythonic的写法。
*号乘法
链式比较
解序列
三元选择符
如果你有C语言的基础,就可以看出Python的三元符就类似C语言的 A?B:C。
Enumerate:同时获取索引和值
真值测试
在python语言中,任意对象都可以直接进行真值测试。其中,python语言的真值表如下:
字符串反转
字符串列表的拼接
列表推导式
相应地,还有字典推导式(python2.7及以上版本支持)
字典默认值
dict的get(key,default)方法用来获取字典中key的值。如果字典中不存在该key,则将key赋值为default。这样就省去了写if…else…的繁琐。
zip:配对两个数组
zip方法返回的是一个元组,将两个数组中的值一一配对。
利用zip(*)解配对:
for…else…语句
for…else…语句中的else可以用来处理没有从for循环中断的情况。这样,就不用额外再设置一个状态变量来检查是否是从for循环中断的,代码变得简洁。
长得比较像的还有try…except…else…finally语句。
无论是否发生了异常,只要提供了finally语句,try/except/else/finally代码块执行的最后一步总是执行finally所对应的代码块。
文件打开和关闭
使用with方法,Python将自动管理文件流的打开与关闭,无需手动操作。
怎么样,pythonic的写法是不是很简练、优美!如果有机会,我以后还会分享一些Python的“高阶”特性,比如描述符、装饰器和生成器等等。
谢谢大家看此长文!
公众号:生信了