在不想修改函式的呼叫方式,但是想給函式新增內容的功能的時候使用
軟體實體應該是可擴充套件,而不可修改的。也就是說,對擴充套件是開放的,而對修改是封閉的。
因此,引出了開放封閉原則:
對擴充套件開放,意味著有新的需求或變化時,可以對現有**進行擴充套件,以適應新的情況。
對修改封閉,意味著類一旦設計完成,就可以獨立完成其工作,而不要對類進行任何修改。
所以函式在開發好之後就應該將其封閉,這樣可以防止一些不必要的錯誤的發生
這時候想給原函式新增功能那麼久用到了裝飾器12
3456
1234
5678
9101112
1314
1516
1718
1920
2122
2324
2526
27裝飾器的本質就是在函式巢狀中呼叫被裝飾的函式,用來增加函式的靈活性!
python 裝飾器的使用
使用裝飾器將函式作為引數,最後再返回乙個引數,簡單來說就是在不修改原函式的 上對原函式新增新的功能。1 在原函式中新增乙個裝飾器 原函式 def sayhello print hello,world sayhello 新增裝飾器後 import functools def decorator fun...
python裝飾器的使用
在class內部,可以有屬性和方法,而外部 可以通過直接呼叫例項變數的方法來運算元據,這樣,就隱藏了內部的複雜邏輯。但是,從前面student類的定義來看,外部 還是可以自由地修改乙個例項的name score屬性 如果要讓內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線 在python中,例...
Python裝飾器的使用
本文介紹的是python裝飾器 的使用,分三部分記錄裝飾器,旨在為之後複習保留學習筆記。python裝飾器在沒有改變原始函式呼叫方式的同時,在原始函式的前後增加功能,滿足開放封閉原則。目錄 1.裝飾器的固定模板 2.帶引數的裝飾器模板 3.多個裝飾器函式裝飾乙個函式 裝飾器的固定模板 def inn...