你可能经常看到类似这样的文章:
-
必知必会Python知识点100个 -
69个Python内置函数精讲
这些文章当然有一定的帮助,但大部分人是这样对待她们的:打开,收藏,关闭!
如果你也是这样的,其实你不是在学习,只是在搜集资料,搜集一些可能永远都不会再看的资料。
今天,我要开始一个Python小知识系列。
-
这个系列每篇文章都很短,几分钟能读完。 -
这个系列不欢迎搜藏,只欢迎当场读完,学会。 -
甚至不欢迎点赞,除非你已经学会了。 -
这个系列讲的也不深,但是尽量浅显易懂。深度长文会继续在终结者系列中更新。
这个系列我用次条发,所以也不大关心阅读量,写给需要每天进步一点点的人。
这不仅仅是一个文章系列,也是一个学习习惯养成器:每天实实在在学习一点Python知识。
Python有三元运算法吗?
有!Python的三元运算符是分支语句的变种:
结果1 if condition else 结果2
如果condition条件满足返回结果1,否则返回结果2.
看个实际例子:
score = input('输入你的分数')
result = 'PASS' if score > 60 else 'FAIL'
有什么用处?
这个写法用普通的if..else也可以完成:
score = input('输入你的分数')
if score > 60:
result = 'PASS'
else:
result = 'FAIL'
很明显,上面的写法更加简洁,也更加pythonic。
除此之外,它有更重要的用处:
1. 用在lambda表达式中
lambda是匿名函数,只能有一行代码。
只有一行代码能干什么呢?有了三元运算符,lambda才能显示出巨大的威力。
举个例子:
func1 = lambda score: 'PASS' if score > 60 else 'FAIL'
func1(68)
func1(59)
关于lambda的更多知识会在专门的文章中讲解。
2. 用在推导式中
推导式是一个很强大的python语法,可以一行代码完成复杂的操作。
下面的语句把1到100之间的数字生成一个由0和1组成的数组,偶尔是0,奇数是1:
[0 if x%2==0 else 1 for x in range(1,101)]
如果没有三元运算符,就不可能实现这么复杂的推导式。
关于推导式的更多知识会在专门的文章中讲解。
原文链接:https://www.afxvip.com/4881.html,转载请注明出处。
评论0