我很難找出解決名稱衝突的最佳方法。這是我在我面前的要點:如何解決定義的函數和另一個函數中的參數之間的名稱衝突?
def clean():
# do some cleaning stuff
def build(clean=True):
if clean:
clean()
糟糕。
有幾個原因,我不想在這裏更改API。解決這場衝突的最佳策略是什麼?現在,我在做:
def clean():
# do some cleaning stuff
clean_alias = clean
def build(clean=True):
if clean:
clean_alias()
,這可能是最好的/唯一的解決辦法很短的重命名的東西。我只是想知道是否有不同的方法可以從函數體內引用外部作用域中的clean
?
很好的回答。爲了清楚起見,我最終在函數定義的頂部執行了'clean_func = globals()['clean']'。僅供參考,我會將此標記爲明天回答,它不會讓我標記它。 – jsdalton 2012-02-11 06:45:36