创建子类
接下来,我们将创建不同的类来表示不同的条件,每个类都会根据条件来执行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文章
4406浏览量
66860 -
代码
+关注
关注
30文章
4942浏览量
73165 -
python
+关注
关注
57文章
4858浏览量
89609
发布评论请先 登录
C语言条件结构的使用方法
Linux Shell系列教程之Shell判断 if else用法
JavaScript 【4】 条件语句
HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制if/else条件渲染
FPGA学习系列:if-else与case
python判断语句的详细说明
利用Java 8的Function接口来消灭if...else
详解Python条件语句
在Python中的if...else条件语句介绍
代码如何优化掉多余的if/else?

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