海象运算符

海象运算符是python3.8更新之后推出的一个全新的语法

一、海象运算符定义

海象运算符之所以叫这个名字是因为这个符号就像是一个海象逆时针90°倒过来一样,符号为一个冒号接着一个等号,是:=这样的。

而它的语法为(variable_name := expression or value),看起来很像是一个赋值运算符,但是其实也可以当做赋值运算符去看。

因为这个语法的作用是左边是一个变量的名称,后面是一个表达式或者值。

作用就是在进行条件表达式或者是列表推导式的代码编写时将代码进行简写,把声明变量值的代码放在这个运算符中去实现。

二、海象运算符的用法

(1)海象运算符可以用在if/else之中进行条件判断时为起止条件进行赋值,具体实例如下:

if a := 15 > 10:
    print('hello, walrus operator!')
#不用海象运算符相当于
a=15
if a > 10:
    print('hello, walrus operator!')

在这个示例之中原本应该是先声明a = 15,然后再编写条件a > 10的,但是海象运算符就简化了这一句代码。

(2)或者是用在列表推导式上也很不错,因为列表推导式本身也就是迭代列表的简写方式,示例如下:

nums = [16, 36, 49, 64]
def f(x):
print('运行了函数f(x)1次。')
return x ** 0.5
print([n for i in nums if (n := f(i)) > 5])
#不用海象运算符相当于
nums = [16, 36, 49, 64]
def f(x):
    print('运行了函数f(x)1次。')
    return x ** 0.5

print([f(i) for i in nums if f(i) > 5])
#不过这里f(i)调用了两次

 

posted @ 2022-11-20 15:03  腹肌猿  阅读(813)  评论(0编辑  收藏  举报