在Python,Python中的裝飾器必須實現裝飾器模式嗎?
它是正確的,在Python裝飾可以改變 的界面處的裝飾功能/類,例如修改 裝飾類的裝飾功能和方法的簽名?例如:
>>> def MyDecorator(func): ... def NewFunc(): ... pass ... return NewFunc ... >>> @MyDecorator ... def MyFunc(a, b, c): ... print(a,b,c) ...
所以在Python裝飾不一定用於由GoF的書中「設計模式」中描述的實施裝飾設計模式?
編寫修飾裝飾函數/類的接口的裝飾器是不好的做法嗎?
謝謝。
我認爲這個問題是好的 - 但過於寬泛。我的意思是你有3個問題(即使他們是鬆散連接)而不是一個。你能否試圖縮小問題的範圍? – MSeifert
@MSeifert謝謝。對我的問題是密切相關的,而且他們實際上是以不同形式陳述的同一個問題。如果我把它們分成三個帖子,我恐怕會重複。 – Tim