0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何解决冗长的if...else条件判断(下)

麦辣鸡腿堡 来源:Python都知道 作者:Python都知道 2023-09-12 17:06 次阅读

创建子类

接下来,我们将创建不同的类来表示不同的条件,每个类都会根据条件来执行execute()方法来做某些事。

class Cat(Animal):
    def execute(self):
        print("say miao~miao~!")

class Dog(Animal):
    def execute(self):
        print("say wang~wang~!")

class Pig(Animal):
    def execute(self):
        print("say hang~hang~!")

在这里我们会用到对象的其中一个特性:继承,我们继承的基类Animal,并且对execute()方法进行了重写.

构建实例

我们可以用一个字典或者工厂方法来实现通过一个支付类型来找到对应的具体支付实例对象。

dict_name = {
     "cat": Cat(),
     "dog": Dog(),
     "pig": Pig(),
}

替换if else

创建一个函数,利用dict_name字段的关键字条件调用不的类执行execute()方法.

def func(anmial):
  dict_name.get(animal).execute()

# 执行函数
func("cat")
# 输出:say miao~miao~!

func("dog")
# 输出:say wang~wang~!

func("pig")
# 输出:say hang~hang~!

使用这种方式可以更好的将代码逻辑分离开来,比起冗长的if else,直接使用func函数是不是看起来简单多了。

通过使用对象特性,我们将条件判断从if...else语句中移出,代之以使用不同类来实现不同的操作。这种方法的好处是,我们可以在代码中更清楚地看到每个条件对应的操作,特别是对于那种需要判断很多中条件,提高了可读性和可维护性。

最后,我想告诉大家的是,并不是什么场景都非要用类的特性来解决 if...else 语句的。如果 if else 中的逻辑本来就很清晰,就没必要生搬硬套用上面的方法去解决了,对此我们需要根据实际业务去随机应变。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4331

    浏览量

    62626
  • 代码
    +关注

    关注

    30

    文章

    4788

    浏览量

    68623
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84694
收藏 人收藏

    评论

    相关推荐

    C语言中if语句、if-else语句和switch语句详解

    在C语言中,有三种条件判断结构:if语句、if-else语句和switch语句。
    发表于 08-18 16:36 1.2w次阅读
    C语言中if语句、if-<b class='flag-5'>else</b>语句和switch语句详解

    C语言条件结构的使用方法

    前面讨论了简单的条件结构。条件结构用于实现需要判断的情况,它以一个逻辑条件成立与否为条件,决定一个操作的执行或不执行,或执行两个不同的操作。
    发表于 11-02 11:27 2248次阅读
    C语言<b class='flag-5'>条件</b>结构的使用方法

    Linux Shell系列教程之Shell判断 if else用法

      if ... elif ... else ... fi 格式  下面我就分别就这几种格式来为大家详细介绍。  一、Shell判断语法之if ... else 格式  if ...
    发表于 09-03 14:20

    JavaScript 【4】 条件语句

    JavaScript if...Else 语句条件语句用于基于不同的条件来执行不同的动作。条件语句通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用
    发表于 07-17 10:36

    HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制if/else条件渲染

    ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、elseelse if渲染对应状态的UI内容。说明:从API version 9开始,该接口支持在ArkTS
    发表于 08-21 14:29

    FPGA学习系列:if-else与case

    的逻辑。 设计原理: if...else 条件语句的作用是根据指定的端盘条件是否满足来确定下一步要执行的操作他们的书写格式如下(1)if (条件语句)     (2)if(
    的头像 发表于 06-01 16:59 1.2w次阅读
    FPGA学习系列:if-<b class='flag-5'>else</b>与case

    python判断语句的详细说明

    python判断语句:if 1. 简单小例子 如果满足条件 A,则执行代码块 a,否则执行代码块 b。类似这样的控制流程语句,称之为条件语句。 它的基本形式是 if 判断
    的头像 发表于 02-25 16:22 2370次阅读

    利用Java 8的Function接口来消灭if...else

    在开发过程中经常会使用if...else...进行判断抛出异常、分支处理等操作。这些if...else...充斥在代码中严重影响了代码代码的美观,这时我们可以利用Java 8的Function接口来消灭if...
    的头像 发表于 04-21 10:23 2686次阅读

    解锁新姿势:干掉过多的if-else

    这点非常容易理解,就是说在业务逻辑里面,先把不符合条件的给先过滤掉,而不是层层嵌套if-else判断
    的头像 发表于 11-12 10:01 665次阅读

    详解Python条件语句

    在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。
    的头像 发表于 04-19 15:39 824次阅读

    在Python中的if...else条件语句介绍

    在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。
    的头像 发表于 04-19 15:43 1178次阅读

    代码如何优化掉多余的if/else?

    的if/else? 1. 提前 return 这是判断条件取反的做法,代码在逻辑表达上会更清晰,看下面代码: if (condition) { // do something} else
    的头像 发表于 06-22 10:01 785次阅读
    代码如何优化掉多余的if/<b class='flag-5'>else</b>?

    Python条件条件语句

    )。if...else...搭配,若if语句为False,不执行if的语句块,而去else的语句块。 1 #if...else...语句
    的头像 发表于 09-12 16:45 608次阅读

    何解冗长if...else条件判断(上)

    if...else...条件语句我相信学习python的童鞋们都喜欢用,例如下一面这一段 def func ( param ): if param == "cat" : print ( "这是一只
    的头像 发表于 09-12 17:03 686次阅读

    python if 多条件并列判断

    Python中的if语句允许我们根据条件执行不同的代码块。有时候我们需要同时判断多个条件是否满足,并根据结果执行不同的代码块。在这篇文章中,我们将会进行详尽、详实且细致的介绍。 首先,我们来看一
    的头像 发表于 11-21 16:40 1861次阅读