我有一個我創建的類,在一個模塊中,我創建了一個類的實例。不幸的是,現在,無論何時模塊結束,類實例也如此(如預期的那樣)。我想保留這個類實例,並且我嘗試了一個返回(className),但它什麼也沒做。從模塊返回一個類實例?
讓這個類實例保持最佳狀態的方法是什麼?
我有一個我創建的類,在一個模塊中,我創建了一個類的實例。不幸的是,現在,無論何時模塊結束,類實例也如此(如預期的那樣)。我想保留這個類實例,並且我嘗試了一個返回(className),但它什麼也沒做。從模塊返回一個類實例?
讓這個類實例保持最佳狀態的方法是什麼?
addFunc()
似乎是一個功能,不是模塊。
如果您希望person1
在函數返回後繼續存在,則返回該函數的person1
對象,並將其綁定到外部作用域中的變量。例如:
class Person(object):
def __init__(self, name):
self.name = name
def addFunc(inputName):
person1 = Person(inputName)
return person1
if __name__ == '__main__':
person = addFunc('iu34')
print person.name
現在person1
從addFunc返回,勢必person
。
還有其他選擇,例如將字典或列表傳遞到addFunc()
,並將創建的Person
對象存儲在此處 - 這取決於您的應用程序。
太棒了,謝謝。這有很大幫助! – iu34 2014-10-04 14:17:15
我很高興聽到這個消息。 – mhawke 2014-10-04 14:25:12
在這種情況下,根本不需要'addFunc'。 – jonrsharpe 2014-10-04 14:25:37
保留*其中*?你能提供一個[最小的例子](http://stackoverflow.com/help/mcve)? – jonrsharpe 2014-10-04 13:45:28
當然。我有一個Person類,用def __init__設置名字和年齡的初始值。在模塊addFunc()中,我使用person1 = Person(inputName)創建了一個新的實例,其中inputName是他們輸入的名稱。這部分工作正常,但問題是,每當addFunc()結束時,我的person1消失。 – iu34 2014-10-04 13:50:11
不,我的意思是一些實際的格式化代碼,在問題本身中,說明了這個問題。 – jonrsharpe 2014-10-04 14:24:54