
1 vituralfuture Mar 31, 2024 via Android else 可以在条件不成立的时候多执行一段逻辑 举个例子,如果今天下雨就穿雨鞋,否则就穿运动鞋,穿完鞋之后出门 话说问这种问题,op 是初学编程? |
2 OwO233 OP @vituralfuture #1 是啊,想学习变成自己编写一些自动挂机脚本。 |
3 ohayoo Mar 31, 2024 if 可以单独存在,不一定要和 else 搭配,如果 condition 是 False ,else 下面的语句被执行。 换句话说,条件不成立的时,一定要干一件什么事情,则需要 else |
4 OwO233 OP @vituralfuture 感谢你的回复。 请问条件不成立不写 else 后面写一段语句一样可以执行,但是为什么需要写 else 呀? |
5 OwO233 OP 我知道了,如果不加 else ,前面的 if 判断 true 后还会重复执行一遍,我刚开始逻辑出问题了… |
7 zictos Mar 31, 2024 elif 也是要指定具体的条件的,而 else 是无需指定具体条件的,不满足前面的条件时就执行 else 里面的代码。如果不需要 else 也可以不用,可以只用 if 或者只用 if 加 elif |
8 skyflower Mar 31, 2024 python 没太研究过,不过如果是 C++,那则涉及到编译器优化的一些知识。 比如同样比较是否等于 1 ,if else 和 switch 在编译阶段就会体现出效率的不同: https://blog.csdn.net/dsb2468/article/details/72635138 |
9 V2April Mar 31, 2024 else 是如果前面的 if 和 elif 都不满足,直接执行 else 里面的语句。但如果前面的 if 和 elif 有一个被满足,就不会执行。好比你老婆想吃水果了,她优先想吃草莓,但如果草莓没上市买两个苹果也可以。她给你编程: ''' if 有草莓 买草莓 else 买苹果 end if 回家 ''' 这样你总是会带一些水果回家。 如果编程: ''' if 有草莓 买草莓 end if 回家 ''' 那没有草莓你就会空手回家。 如果编程: ''' if 有草莓 买草莓 end if 买苹果 回家 ''' 那无论如何你都会买苹果回家。 当然你也可以写成 ''' if cond1 action1 elif not cond1 action2 endif ''' elif not cond1 和 else 是一样的。但如果你有很多 if~elif~elif~elif......,你最后给一个 else 来兜住所有剩下情况,肯定比写一个 elif not cond1 and not cond2 and......要容易。而且 else 不会做任何判断,只是起兜底作用。有的时候你的 if 判断本身是一件耗资源的事,你用 elif 来代替 else 就很不划算了。 |
10 AV1 Mar 31, 2024 写在 else 里和 else 外的效果是不一样的。 if condition: #下面这句是条件成立时执行 action1() else: #下面这句是条件不成立时执行 action2() #下面这句无论条件成不成立都会执行 action3() |
11 oliveira Mar 31, 2024 这个问题,你写个 Demo 运行一遍就知道了啊... |
12 PrinceofInj Mar 31, 2024 想起了那个笑话: 老婆:去菜市场买些苹果,如果有卖西瓜的,买一个。 过了半小时,老公拿着一个苹果回家了 老婆:你怎么只买了一个苹果? 老公:碰上卖西瓜的了。 |
13 lisongeee Mar 31, 2024 |
14 EndlessMemory Apr 1, 2024 除了 if 情况下的,就使用 else ,有啥毛病吗 |
15 maotao456 Apr 1, 2024 我现在写代码,在非必要情况下不用 else. 假设代码是这样 穿运动鞋 if 下雨 == true { 穿雨鞋 } 出门 |
16 jorkingwire Apr 1, 2024 为什么我看不懂了,是我的问题么 |
17 elonlee Aug 20, 2025 这个要涉及到防御性编程的知识了,程序的输出结果必须是明确的,只有 if 没有 else 就是逻辑不完整,就是有业务不闭环的情况发生,一定要杜绝这种情况发生。for example , 比如是一个结算系统,涉及到扣账户余额的环节:比如 if( 消费金额 <= 账户余额 ){ // 执行扣减逻辑 }else{ pass } 以上代码事想以下没有 else 1. 逻辑不清晰 2. 单元测试不闭环 3. 如果有更多的 if 分支可能会存在,业务逻辑覆盖的情况。 |