
for i in range(3): if i == 1: print(’第二次循环') else: print('for 循环结束') print('i 值', i) for i in range(3): if i == 1: print('第二次循环') then: print('for 循环结束') print('i 值', i) 就很不理解,命名是 for...then...的意思,为什么要用 for...else...这么离谱的东西
1 mmm159357456 2022-08-11 16:20:52 +08:00 第一次看到 for...else 的时候我觉得是不是写错了,然后细看没写错 |
2 hsfzxjy 2022-08-11 16:21:41 +08:00 via Android 如果你 break 了,else 是不会执行的 |
3 just1 2022-08-11 16:25:54 +08:00 用途是处理自然 for 完毕而不是 break 语言真惨,这都被喷 |
  4 lookStupiToForce 2022-08-11 16:28:09 +08:00 python 哲学,有些东西写出来就是避免任何人用的(狗头 你可以不理解,大家也都不理解 https://stackoverflow.com/questions/9979970/why-does-python-use-else-after-for-and-while-loops 换成 ifnobreak 就没任何歧义了,但现在没有这个关键字,所以要么忍着用并在 else 后加注释# nobreak ,要么别用 |
5 wxf666 2022-08-11 16:33:09 +08:00 难道是不想加太多关键词了? then = 1 √ else = 2 × |
7 still97 OP @lookStupiToForce 是的,一定要用的话得加注释 |
8 ClericPy 2022-08-11 20:34:44 +08:00 当年 try else 更魔性 进来发现只是吐槽语义语法就没意思了 勉强能理解凑合了, 毕竟语言作者母语可能也不是纯英语, 平时重试啥的还是挺常用的, 除了能直接 return 的地方, 很多时候 break 是需要 ifbreak 判断的 |
9 yuruizhe 2022-08-11 21:49:10 +08:00 via iPhone 记得好像不建议用 for+else…… 就像不建议用 goto ? |
10 lzjun 2022-08-12 00:53:29 +08:00 把他理解为 break ... else .. 就对了 |
12 spiritlin 2022-08-12 16:41:54 +08:00 当初看到这个语法也是非常迷,以至于一直搞反它的含义 |