使用海象运算符:=在某些地方可以简化代码。

    场景一:

    1. ls = [0, 1, 2]
    2. if len(ls) >= 2:
    3. print(len(ls))
    4. # 为了减少调用 len 的次数
    5. ls = [0, 1, 2]
    6. ls_length = len(ls)
    7. if ls_length >= 2:
    8. print(ls_length)
    9. # 使用海象运算符简化代码
    10. ls = [0, 1, 2]
    11. if (ls_length := len(ls)) >= 2: # 由于 := 优先级小于 >=,所以要加括号。
    12. print(ls_length)

    海象运算符完成的工作实际上类似于以前写 C/C++ 时写的在ifwhile等语句的条件中写赋值语句,这样可以同时完成赋值和判断,而且由于:==长的不一样,就避免了可读性差的问题。

    场景二:

    1. dig_ls = [0, 1, 2]
    2. ls = [len(dig_ls), len(dig_ls) + 1, len(dig_ls) + 2]
    3. # 使用海象运算符
    4. dig_ls = [0, 1, 2]
    5. ls = [dig_ls_length := len(dig_ls), dig_ls_length + 1, dig_ls_length + 2]

    :::warning 注意:海象运算符不能当普通的赋值运算符使用,它基本上只能被用于上面两种语法场景。 :::