2010-09-11 167 views

回答

5

我總是在這種情況下,使用輔助對象:

def outerFunction(): 
    class Helper: 
     val = None 
    helper = Helper() 

    def innerFunction(): 
     helper.val = "some value" 

這也派上用場,當你開始應該值寫入外部函數範圍一個新的線程。在這種情況下,helper將作爲參數傳遞給innerFunction(線程的函數)。

+0

Helper類不提供任何__init__,所以當我構建Helper實例(helper = Helper())時,會發生什麼? Helper()是否只返回一個具有一個類屬性的實例? – Alcott 2011-09-10 08:40:16

+0

@Alcott:是的,類屬性默認爲'None',然後通過'helper.val = ...'將其更改爲實例屬性。這是解決這個問題的最簡單的定義,我想。 – AndiDog 2011-09-10 22:18:53

相關問題