python 中的三元表达式及lambda

一、三元表达式
举一个简单的列子,很多地方都有这样的规定,比如用水或者用电,假设用水价格为3R/立方米,当你每个月用超过7立方米后,超出的水按照3.3R/立方米计价。然后写一个程序计算一个家庭每月的水费。
>>> def cost(x):
...     if x < 7 :
...         pay = x*3
...     elif x > 7:
...         pay = 21 + (x-7)*3.3
...     return pay

这个程序段非常简单,逻辑就不用说了,条件不同计价方式就不一样,但是当我们用三元表达式去写同样功能的这段函数是这样的 pay = x*3 if x < 7 else (21+(x-7)*3.3)
再来一个简单的例子,两个数,我们返回其中较大的那个数。

>>> def max_(a, b):
...     if a > b:
...         max = a
...     else:
...         max = b
...     return max

当用三元表达式来来写就可以是:max = a if a > b else b 看起来就简洁很多了,这才是Python吗!

二、lambda
>>> def add(x, y)
...     sum = x+y
...     return sum
用lambda表达式来写就是:`add = lambda x, y:x+y` 然后直接调用add(1, 2)就可以得到结果

猜你喜欢

转载自www.cnblogs.com/shiqi17/p/9339563.html