全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

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

时间:2023-09-12 17:06

人气:

作者:admin

标签: 函数  代码 

导读:创建子类 接下来,我们将创建不同的类来表示不同的条件,每个类都会根据条件来执行execute()方法来做某些事。 class Cat ( Animal ): def execute ( self ): print ( "say miao~miao~!" ) class Dog ( Animal )...

创建子类

接下来,我们将创建不同的类来表示不同的条件,每个类都会根据条件来执行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 中的逻辑本来就很清晰,就没必要生搬硬套用上面的方法去解决了,对此我们需要根据实际业务去随机应变。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信