创建子类接下来,我们将创建不同的类来表示不同的条件,每个类都会根据条件来执行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 中的逻辑本来就很清晰,就没必要生搬硬套用上面的方法去解决了,对此我们需要根据实际业务去随机应变。
社区代码贡献企业启新篇,深开鸿代码贡献量超过200万行
频谱监测与信号智能系统的系统组件详解
TOP10盘点全球ICT技术发展趋势
A.O.史密斯-佳尼特热水器,更适合年轻人的选择
小米5X评测:小米5X如此出色,颜值满分、配置合理,今天还有特别版4GB+32GB新品,只要1299元,你抢到了吗
如何解决冗长的if...else条件判断(下)
电源伏安特性曲线的意义详细解析
PLC通过Modbus转Profinet网关与合康变频器Modbus通讯配置案例
电脑升级后起死回生,aigo国民好物固态硬盘P3000开箱心得
单片机的通信性能分析与评价方法
汽车级TVS测试步骤
刚性柔性印刷电路板技术的简单介绍
闪烁探测器探测原理_闪烁探测器的结构组成
AP2813平均电流型双路降压恒流驱动器
夏普AQUOS新品谍照大曝光:这设计感简直了!
掩盖在小米mix2光芒下的一部小米手机,小米note3其实一点也不弱!
hash算法在FPGA中的实现(4)
增强现实(AR)技术:Apple Car假想概念图曝光
华为P9Plus不服来试了试 诺基亚手机能砸核桃?
Kinetic Mesh网络高速低延迟 可支持新一代IIoT应用