創建子類
接下來,我們將創建不同的類來表示不同的條件,每個類都會根據條件來執行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文章
4368瀏覽量
64180 -
代碼
+關注
關注
30文章
4886瀏覽量
70245 -
python
+關注
關注
56文章
4825瀏覽量
86166
發布評論請先 登錄
C語言條件結構的使用方法

Linux Shell系列教程之Shell判斷 if else用法
JavaScript 【4】 條件語句
HarmonyOS/OpenHarmony應用開發-ArkTS語言渲染控制if/else條件渲染
FPGA學習系列:if-else與case

python判斷語句的詳細說明
利用Java 8的Function接口來消滅if...else
在Python中的if...else條件語句介紹
代碼如何優化掉多余的if/else?

評論