本文小编为大家详细介绍“Python海象运算符的语法是什么及怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python海象运算符的语法是什么及怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
语法
海象运算符的语法格式是:
(variable_name := expression)
这是一个新的赋值运算符,跟我们常见的 = 类似,一个变量名后面跟一个表达式。
用法
用于 if-else 条件表达式
常规写法:
a = 5
if a > 1:
print('do sth!')
升级写法:
if a := 5 > 1:
print('do sth!')
用于 while 循环
常规写法:
n = 3
while n:
print('do sth!')
n -= 1
升级写法:
n = 3
while (n := n - 1) + 1:
print('do sth!')
这里加1是因为执行输出前n就减1了。
读取文件
常规写法:
fp = open("test.txt", "r")
while True:
line = fp.readline()
if not line:
break
print(line.strip())
fp.close()
升级写法:
fp = open("test.txt", "r")
while line := fp.readline():
print(line.strip())
在合适的场景中使用海象运算符可以降低程序复杂性,简化代码,甚至可以提高程序的性能。
不适用场景
虽然海象运算符好用,但也不是所有场景都能用,还是有它的局限性的。
变量赋值
我们不能将 = 运算符与 := 运算符一起使用,海象运算符只能是表达式的一部分:
a = 5 # Valid
a := 5 # InValid
empty_list = [] # Valid
empty_list := [] # InValid
如果你这样写,编辑器会直接提示错误。
加减法
a += 5 # Valid
a :+=5 # Invalid
Lambda函数中的赋值表达式
(lambda: a:= 5) # Invalid
lambda: (a := 5) # Valid, but not useful
(var := lambda: 5) # Valid
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!