python-decorators

    0熱度

    3回答

    裝飾函數的最佳方式是什麼,但只能在本地範圍內。例如,我們有以下幾點: def a(): do stuff b() do stuff 我想打一個功能c(),做同樣的stuff但裝飾B上它增加了一些額外的東西。我發現了一個辦法做到這一點,但它改變B()全球: def c(): global b b = decorator(b) a()

    0熱度

    1回答

    : 這是我測試(總結)文件(common.py)(請注意本在很大程度上從原來的問題修改,包括我錯誤地省略掉的細節。)。它包含一個裝飾器(派生自Decorum library),該裝飾器調用另一個對象(A)上的類方法:我想修補A,因爲該代碼使得我沒有測試的外部調用。 from decorum import Decorum class A: @classmethod def

    11熱度

    1回答

    def makebold(fn): def wrapped(): return "<b>" + fn() + "</b>" return wrapped def makeitalic(fn): def wrapped(): return "<i>" + fn() + "</i>" return wrapped @makeita

    0熱度

    1回答

    我已經做了兩個功能做同樣的事情,但不同。我想比較每個函數運行的時間,所以我添加了一個裝飾器@calcul_time。該腳本確實工作,但我得到以下錯誤信息: {1: 1, 2: 3, 3: 2, 4: 4, 5: 4, 6: 3, 7: 3, 8: 2, 9: 2, 10: 2, 11: 2, 12: 2, 13: 2, 14: 2, 15: 2, 16: 2, 17: 2, 18: 2, 19:

    0熱度

    1回答

    我寫了一個登錄裝飾器,應該保證在執行另一個函數之前用戶已正確登錄。問題是,雖然裝飾器正在按預期工作,但函數包裝函數從不執行。我的結構如下所示: #This is my decorator login_required(func): def func_wrapper(*args, **kwargs): #do some operations return True

    1熱度

    2回答

    @property是定義獲取者的好方法。當屬性是可變的時,返回的引用可以用不受類定義控制的方式修改屬性。我將使用香蕉攤作爲一個激勵類比,但這個問題適用於任何包裝容器的類。 class BananaStand: def __init__(self): self._money = 0 self._bananas = ['b1', 'b2'] @proper

    4熱度

    2回答

    我想打印爲my_func,並將源代碼,由my_decorator包裹, import inspect from functools import wraps def my_decorator(some_function): @wraps(some_function) def wrapper(): some_function() return wra

    0熱度

    1回答

    我想在django中創建一個錯誤處理裝飾器,並在裝飾器中發生異常並且異常被引發回裝飾函數然後發送錯誤http響應。 但是當我嘗試這樣做的時候,如果我在裝飾函數的異常被引發後在裝飾函數中添加一個Except塊,那麼只有裝飾函數的except塊得到執行,並且裝飾器的except塊是未執行。 MyDecorator.py def log_error(message): def decorat

    1熱度

    1回答

    我有一個特殊的statemachine在Python中實現,它使用類方法作爲狀態表示。 class EntityBlock(Block): def __init__(self, name): self._name = name @classmethod def stateKeyword1(cls, parserState : ParserState):

    0熱度

    1回答

    我有多個使用單個變量的函數,這個變量的計算代價很高,所以我不想重複這個。我有兩個簡單的方法來做到這一點,並想知道你覺得哪種方法更「pythonic」或更好的方法。 class A: def __init__(self): self.hasAttr = False def compute_attr(self): self.attr = 10