2017-09-04 76 views
0

說我想換行功能與timeit_wrapper這樣的:如何在保留函數名稱的同時從不同名稱空間包裝函數?

import timeit_wrapper 

def func1(): 
    pass 

def func2(): 
    func1 = timeit_wrapper(func1) 
    func1() 

以上將導致前分配錯誤引用的因爲FUNC1是在局部範圍內分配。

如何以pythonic的方式實現這一點(沒有全局關鍵字)?

+0

怎麼樣'wrapped_func1 = timeit_wrapper(FUNC1)'和'wrapped_func1()'? – Alfe

+0

我希望它仍然被稱爲func1(get_batch在現實中),使代碼更容易理解,更易於更改 - 這可能嗎? – LearnOPhile

+2

哇。 2秒鐘回答我的問題;-)你很快。那麼你對'global'關鍵字不喜歡什麼?那會解決你的問題,不是嗎? – Alfe

回答

2

這個怎麼樣:

import timeit_wrapper 

def func1(): 
    pass 

def func2(func1=func1): 
    func1 = timeit_wrapper(func1) 
    func1() 
相關問題