代码没有格式化,造成了误解,更新一下:
for item in my_list: if item.flavor == 'banana': break else: raise ValueError('No banana flavor found!')
![]() | 1 ysc3839 2019-01-31 17:37:35 +08:00 via Android 用的不多。我认为不会。 |
![]() | 2 zhoudaiyu PRO 偶尔用 |
![]() | 3 lniwn 2019-01-31 18:17:01 +08:00 《流畅的 Python 》中有谈到这个问题,个人觉得,这种用法对于一般人不会造成误解,对于专门研究语言的人,有可能会造成误解。这种用法已经是历史遗留问题,适应就好,不算奇巧淫技。 |
![]() | 4 tiedan 2019-01-31 18:23:16 +08:00 try/else 偶尔会用 |
5 lihongjie0209 2019-01-31 18:27:58 +08:00 没这种写法之前怎么写代码? 代码不只是给自己看的, 也是给别人看的 |
![]() | 6 WayToGo OP @ysc3839 @zhoudaiyu @tiedan 谢谢回复 @lihongjie0209 嗯,同意 @lniwn 我也是在《流畅的 Python 》里看到的,对于 for/else 一开始我的理解是错误的。 书上的 for/else 例子 for item in my_list: if item.flavor == 'banana': break else: raise ValueError('No banana flavor found!') |
7 junjieyuanxiling 2019-01-31 19:26:48 +08:00 via Android 知道,但是一次也没用过。 |
![]() | 8 L2AKnG8GXx60bc6P 2019-01-31 19:54:38 +08:00 经常用,超好用 |
![]() | 9 Tink PRO 我居然不知道 |
![]() | 10 Hopetree 2019-02-01 00:30:28 +08:00 我只知道 try/else/finally for/else 和 while/else 我怎么没见过,能给我例子我见识一下吗 |
![]() | 11 Hopetree 2019-02-01 00:31:42 +08:00 @WayToGo 这个能算 for/else 吗?这命名就是 if/else,只不过放在了 for 循环里而已,层级都不同好吧 |
![]() | 12 thedrwu 2019-02-01 08:25:15 +08:00 via Android ![]() 其实从语感上说,那个不该叫 else,而应该叫 otherwise。 |
![]() | 13 Qzier 2019-02-01 08:42:13 +08:00 via iPhone 基本很少有用 |
![]() | 15 marcong95 2019-02-01 09:39:30 +08:00 当年直接看官网 tutorial 学的 Python,感觉 for/else、while/else 挺好用的。但是工作中不用 Python,偶尔自己写一下的时候都很难想起来 |
![]() | 16 XIVN1987 2019-02-01 09:40:11 +08:00 via Android 感觉挺好的,,其他语言也该加上 |
![]() | 17 holyzhou 2019-02-01 09:49:20 +08:00 在用,用的还挺多的 记得<<编写高质量 python 代码的 59 个有效方法>>里面还有一节说,不建议用,我个人觉得还行 |
![]() | 18 piqizhu 2019-02-01 09:51:50 +08:00 很少用 |
19 guanhui07 2019-02-01 10:01:05 +08:00 很少用 |
20 princelai 2019-02-01 10:02:38 +08:00 自从知道这个语法了解了以后,while/else 和 try/else 用的很多,非常好用,for/else 用的不多,不过看流畅的 python 里说好像的确不建议多用 |
22 okwork 2019-02-01 12:33:26 +08:00 via Android for else 用的少,其他的都是高频用法吧 |
23 TuringGunner 2019-02-01 12:42:53 +08:00 via Android 用 try else 比较多,其他两个基本不用 |
24 butterfly1211 2019-02-11 15:38:56 +08:00 用的非常多 |