分享6个隐藏的python功能

你如果打开python交互环境,输入import this可以看到以下内容:

这些是python的设计哲学,后面还有一些没列出来,在写python代码时最好遵从这些设计哲学。

想要学习Python?Python学习交流群:452739833满足你的需求,资料都已经上传群文件流,可以自行下载!

第一个功能。

如果让你写一段代码表示a大于2且小于10,大多数人都会用a > 2 && a < 10对吧,在python中你可以直接使用2 < a < 10。

还有一个很多人可能都知道的技巧,就地交换值,而不需要中间变量。

第二个功能。

我们常常会需要用for循环来遍历序列中的值,然后进行某些操作。在其他语言中你可能这么写:

扫描二维码关注公众号,回复: 5094148 查看本文章

在python中很多人会这么写,对a的长度使用range生成一个序列,然后遍历。

其实你可以这样写,直接使用enumerate方法,它会返回序列的下标和值。

第三个功能。

一般情况下,循环语句和条件判断语句是互不相干的,if后面就是else,for之后是in。其实循环语句后面也可以跟着else。for之后跟着else的意思是,运行这个循环,然后执行else中的语句。

除了for循环后面可以跟着else,while和try/except之后也可以跟着else。

第四个功能。

用过字典的都知道,如果我们需要字典中某个键的值,可以使用d['key']来获取,如果key不存在的话会抛出异常,这样肯定不好了,如果使用d.get('key'),在key值不存在时会默认返回None,这样就不用关心是否会有异常发生。其实还可以这样,d.get('key', 0),第二个参数指定key不存在时用来代替的值。

第五个功能。

正则表达式是个很让人头疼的东西,如果能加上注释该多好,这样我就知道自己写的是什么了。在Python中你可以这样。

第六个功能。

在上一篇迭代器和生成器中说过,iter()函数可以生成一个迭代器,之后你就能使用循环或者next方法来产出值。其实iter还接受第二个参数,它的作用是在迭代的过程中如果碰到第二个参数则停止。看个例子:

上面的代码中,从f中循环读入,如果碰到\n则结束读取。

其他的技巧像使用生成器表达式,利用拆包方法等等,之前都有说过,这里不再赘述。

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/86660496
今日推荐