在 Python 中使用 海象Walrus 运算符 (:=)

B站影视 2024-12-19 02:59 2

摘要:在 Python 3.8 中引入的 walrus 运算符 ( := ),正式名称为赋值表达式,是一种将值赋值与表达式相结合的新语法。此运算符可以通过减少行数和对重复表达式的需求来简化代码。

在 Python 3.8 中引入的 walrus 运算符 ( := ),正式名称为赋值表达式,是一种将值赋值与表达式相结合的新语法。此运算符可以通过减少行数和对重复表达式的需求来简化代码。

walrus 运算符允许将值作为较大表达式的一部分分配给变量。这意味着可以计算表达式并将其结果分配给同一操作中的变量,这在需要重用值的循环和条件语句中特别有用。

1. 循环内 while

海象运算符的一个常见场景是读取输入,直到满足特定条件:

# Collecting user input until a blank line is enteredlines = while (line := input("Enter something (leave blank to quit): ")) != "": lines.append(line)import random# Generating and filtering random numbersnumbers = [n for _ in range(10) if (n := random.randint(1, 100)) > 50]print(numbers)

此示例生成 10 个随机数,并且仅包含列表中大于 50 的随机数,所有这些随机数都包含在一个简洁的表达式中。

# Checking the length of a list and using it in the same conditiona = [1, 2, 3]if (n := len(a)) > 2: print(f"The list is long enough ({n} elements).")

在这里,列表 a 的长度被计算、分配给 n ,并在一行中进行检查。

walrus 运算符 ( := ) 是 Python 的一个有价值的补充,它可以简化表达式中的赋值,从而生成更干净、更高效的代码。它能够将计算和赋值结合起来,这在循环和条件语句中特别有用,可以减少冗余并增强代码的可读性。当您将 walrus 运算符合并到 Python 项目中时,您可能会发现它简化了编码任务的许多场景。

来源:自由坦荡的湖泊AI一点号

相关推荐