首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

发现 python 语法有个奇特的地方, if , else 中间能加一个 for 循环?

  •  
  •   petelin · 2016-06-06 10:10:49 +08:00 · 1888 次点击
    这是一个创建于 1282 天前的主题,其中的信息可能已经有所发展或是发生改变。
    a = 0
    if a == 1:
        print(1)
    for i in range(1):
        a = 2
    else:
        print(333)
    

    看 simplehttpserver 的时候发现的,中间那个 for 循环是怎么回事?有大大知道吗?

    11 回复  |  直到 2016-06-06 15:17:59 +08:00
        1
    tabris17   2016-06-06 10:14:06 +08:00
    卧槽,我都懵逼了。

    LZ 知道 python 的 for else 语法吗?
        2
    fcicq   2016-06-06 10:14:39 +08:00
    你发现的是 for... else... 结构. 不是 if... else...
        3
    Trim21   2016-06-06 10:15:16 +08:00 via Android
    @tabris17 这里的缩进有点奇怪?
        4
    Trim21   2016-06-06 10:15:55 +08:00 via Android
    @Trim21..我看错了。。。
        5
    jugelizi   2016-06-06 10:20:01 +08:00
    看注册日期原来就是想搞个大新闻
    for 循环不异常结束都会执行 else
    和上面的 if 没关系
    基本语法不看完就写代码
        6
    clino   2016-06-06 10:22:09 +08:00
    用了这么多年才知道 for 后面能跟 else,从来都是在 break 前处理的...
        7
    Cynic222   2016-06-06 10:22:18 +08:00
    for... else...
    while... else...
        8
    Mutoo   2016-06-06 10:31:43 +08:00
    python 的 for else 还是挺方便的,其它语言得 for + bool + if 多写三四句
        9
    yelite   2016-06-06 10:35:15 +08:00
    觉得换一个关键字会更好,用 else 看着不顺眼
        10
    petelin   2016-06-06 11:09:46 +08:00
    @tabris17
    @fcicq
    @jugelizi
    @Cynic222
    for else 基础看过,从来没用过,大早上懵逼了。。。谢谢各位
        11
    yongzhong   2016-06-06 15:17:59 +08:00
    完美的解决了某些需要 Boolean flag 的语言的问题....
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2036 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 16:09 · PVG 00:09 · LAX 08:09 · JFK 11:09
    ♥ Do have faith in what you're doing.