我有字符串列表my_list有n個項目在其中。 該列表在運行期間被輸入一個字符串。 假設現在有4個項目。我該如何找回一個類的動態創建的對象?
示例:my_list = [ '一個', '2', '3', '4']
我有稱爲my_object自定義對象,其實例我需要一個創造循環,列表中的每個項目。
我的問題: 通常情況下,我創建對象爲:**my_obj** = MyObj()
,我可以使用my_obj變量得到它並調用其方法等
因爲我需要這個創作動態地發生,與列表操作;
- 如何創建對象實例?
- 如何獲取對象實例並調用其方法?
我知道這是舊的,可能是錯誤的,過時的,但在VisualBasic中的可視項目,這可能已經等來進行:
my_obj [dyanmic_variable] = ...
我不想這樣涉及全局或任何事情都很複雜。
我該如何處理這個問題?
更多的上下文:
*我使用Qt開發應用程序(PySide - PyQt的)。 我有一個定製的微件(my_class) 我需要這個對象的動態創建的實例來填充可視列表(QGridLayout),然後調用它們的方法。*
謝謝。顯示我創建對象,並嘗試使用它們
代碼:
class my_class(object):
def __init__(self):
print 'hi'
def talk(w):
print w
my_list = ['one', 'two']
### code that won't work starts from here
for i in list:
i = my_class()
my_list[1].talk()
請顯示實際的代碼,演示你正在嘗試要做什麼以及它不起作用。 – BrenBarn
代碼究竟是什麼?我很樂意這樣做,但這就是我所要求的。我有一個隨意的自定義類,它什麼都沒做。我的問題是如何創建動態實例,我不知道它的代碼。 – Phil
您可以通過調用一個類來創建一個對象,例如'MyClass的()'。沒有要求將其分配給變量。你的「問題」聽起來很愚蠢,我認爲我們缺少背景。顯示代碼。 –