創建子類
接下來,我們將創建不同的類來表示不同的條件,每個類都會根據條件來執行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文章
4307瀏覽量
62432 -
代碼
+關注
關注
30文章
4750瀏覽量
68357 -
python
+關注
關注
56文章
4782瀏覽量
84456
發布評論請先 登錄
相關推薦
評論