player-none 发表于 2025-4-17 21:33:19

Python 海象运算符 :=

看 Twilight6 大佬的帖子时:

https://fishc.com.cn/forum.php?mod=viewthread&threadindex=yes&tid=227362&pid=6216159



内心活动:这是什么?

(Bing)



啊?

(望了望我已经提交到 GitHub 仓库上的代码)

咳咳,算了,这不是重点……

(分割线)

海象运算符可以大幅度简化代码,简单来说,我们熟悉的

i = 0
while i < 10:
    print(i)
    i += 1

可以改成

i = -1
while (i := i + 1) < 10:
    print(i)

(好像也不是特别简单)

那么这样呢?(不是自增自减,优势就很明显了)C++ 的赋值语句其实也是有返回值的,Python 默认的赋值语句没有,但 := 可以作为这个功能的平替。

while not (i := input('请输入一个数字:')).isdigit():
    pass

本来得写成

i = input('请输入一个数字:')
while not i.isdigit():
    i = input('请输入一个数字:')

(看了眼代码)算了不改了
页: [1]
查看完整版本: Python 海象运算符 :=