python三目运算与匿名函数

前言:
哈哈哈,又到了吐槽时间。今天南京真的是一秒入冬啊,博主的手指一到冬天就开始变的不是很灵活。996的工作制度还在继续,所以这次继续记录能快速结束的专题。
三目运算符:
在一些其它编程语言中呢三目运算符使用?:的写法。python一贯以简洁的写法著称,它没有引用 ?: 运算符直接采用了 if else 来实现相同的功能。

a = 3
b = 4
print('a>b') if a>b else print('a<b')
# 输出结果:('a>b')

大家是不是已经看出其中的端倪了,哈哈哈。其实也是很简单的。

条件为真时的结果 if 判段的条件 else 条件为假时的结果

在做简单判断时可以让我们的代码变得更加简洁美观。
在使用三目运算时也可以将输出结果给一个变量以提供给后续的代码使用。

a = 3
b = 4
man = a if a>b else b
print(man)
# 输出结果:4

在使用过程中呢,我们还可以用一个三目运算套另一个三目运算,在需要多重判断的时候还是很适用的哦。哈哈哈。看博主的例子。

a = 3
b = 3
print('a>b') if a>b else print('a<b') if a<b else print('a==b')
# 输入结果: a==b

是不是也很容易理解啊。
其实三目运算还有另两中写法。

a = 4
b = 3
print({
    
    False: a,True: b}[a > b])
# 输出结果: 3
a = 4
b = 3
print((a,b)[a > b])
# 输出结果: 3

但是下面两种写法大家最好不要轻易使用,不然同事会很抓狂的。哈哈哈。
匿名函数:
匿名函数呢就是不需要指定具体的函数名称,匿名函数也是一个函数对象,也可以将匿名函数赋值给一个变量,再利用变量来调用这个函数。使用lambda关键字来表示匿名函数。

def test(x,y):
    return x+y

cals = lambda x,y:x+y
# 两者其实实现的功能是一样的,这样是不是就能理解匿名函数了呢。跟前者比较调用起来更加方便了。
接收函数变量 = lambda 参数1...:函数具体实现内容

将lambda表达式与三目运算结合使用。

def test(x,y):
    if x>y:
        return x-y
    else:
        return x+y
# 将上面的功能使用lambda实现
cacl = lambda x,y: x-y if x >y else x+y
print(cacl(3,5))
# 输出结果:8

匿名函数还可以与python中的内置函数结合实现更加强大的功能。

# map(一个函数,一个或者多个序列),能将序列中的值依次放在函数中进行计算。
li = [1, 2, 3, 4, 5]
print(list(map(lambda x: x ** 2, li)))
# 输出结果: [1, 4, 9, 16, 25]

···有点点冻脚,今天就先到此为止吧…

猜你喜欢

转载自blog.csdn.net/HUJIANLAILE/article/details/121195709