程序员:分享Python五大隐藏功能,知道三个以上的都是大牛级别

74 篇文章 0 订阅
40 篇文章 0 订阅

前言:

今天小编给大家分享了5个隐藏的python功能,还是老规矩,部分代码以图片的方式呈现出来,方便观看与收藏,喜欢的话不忘点赞转发就可以啦!

再来看看彩蛋环节:

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

程序员:分享Python五大隐藏功能,知道三个以上的都是大牛级别

 

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

内容如下:

第一个(隐藏功能)

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

a = 5
# 可以这样
print(2 < a < 10)
# 也可以这样
print(10 > a <= 9)
True
True

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

a = 2
b = 3
print(a, b)
# 直接交换
a, b = b, a
print(a, b)
2 3
3 2

第二个(隐藏功能)

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

def seek_next_line(f):
for c in iter(lambda: f.read(1),'\n'):
pass

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

程序员:分享Python五大隐藏功能,知道三个以上的都是大牛级别

 

第三个(隐藏功能)

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

for i in foo:
 if i == 0:
 break
else:
 print("i was never 0")

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

第四个(隐藏功能)

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

第五个(隐藏功能)

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

程序员:分享Python五大隐藏功能,知道三个以上的都是大牛级别

 

^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$

以上就是全部内容了!

最后,小编想说一句话:我是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等,面试真题,面试真题。想要这些资料的可以加群:877562786

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值