Python中冒号等于(:=)是什么意思?

:=操作数是什么意思,更具体地说是Python?

有人可以解释如何阅读此代码段吗?

node := root, cost = 0

frontier := priority queue containing node only

explored := empty set

回答:

回答:

在问题的上下文中,我们正在处理伪代码,但是从Python

3.8开始,:=它实际上是一个有效的运算符,它允许在表达式中分配变量:

# Handle a matched regex

if (match := pattern.search(data)) is not None:

# Do something with match

# A loop that can't be trivially rewritten using 2-arg iter()

while chunk := file.read(8192):

process(chunk)

# Reuse a value that's expensive to compute

[y := f(x), y**2, y**3]

# Share a subexpression between a comprehension filter clause and its output

filtered_data = [y for x in data if (y := f(x)) is not None]

有关更多详细信息,请参见PEP 572。

回答:

您发现的是

是计算机程序或其他算法的工作原理的非正式高级描述。

:=实际上是赋值运算符。在Python中,这很简单=

要将伪代码转换为Python,您需要了解所引用的数据结构,以及更多的算法实现。

有关伪代码的一些注意事项:

  • :=是赋值运算符或=在Python中
  • =是等于运算符或==在Python中
  • 有某些款式,您的里程可能会有所不同:

帕斯卡风格

procedure fizzbuzz

For i := 1 to 100 do

set print_number to true;

If i is divisible by 3 then

print "Fizz";

set print_number to false;

If i is divisible by 5 then

print "Buzz";

set print_number to false;

If print_number, print i;

print a newline;

end

C风格

void function fizzbuzz

For (i = 1; i <= 100; i++) {

set print_number to true;

If i is divisible by 3

print "Fizz";

set print_number to false;

If i is divisible by 5

print "Buzz";

set print_number to false;

If print_number, print i;

print a newline;

}

注意花括号用法和赋值运算符的区别。

以上是 Python中冒号等于(:=)是什么意思? 的全部内容, 来源链接: utcz.com/qa/429241.html

回到顶部