[英]How do you recall a specific object when using a variable to instantiate?
我見過的所有創建對象實例的代碼都使用了一個變量,並且對象實例的使用是短暫的,就像游戲一樣。 一個新游戲取代了那個實例,並且不需要召回以前的對象。 或者我見過不使用 catchall 變量的手動生成的實例。 像c1
和c2
等等。
class Child:
def __init__ (self, name,):
self.name = name
child = Child(name)
我創建了對象的多個實例,並通過將它們附加到列表中將它們附加到另一個類中。 但是,如果我要更改實例的屬性,我不知道如何使用用於實例化的通用變量“child”來調用它。 當我使用c1
或c2
實例化時,我可以這樣做:像c1.name
。 但我必須手動編寫c1
或c2
。 child.name
當我調用child.name
我只返回創建的最后一個孩子。
有人有建議嗎?
正如您所提到的,您可以使用列表來存儲您創建的對象的實例。 例如,在您擁有的代碼的基礎上,您可以執行以下操作:
my_objects = []
for name in ('one', 'two', 'three', 'four'):
child = Child(name)
my_objects.append(child)
然后,如果您想調用您創建的第二個對象,您可以從列表中訪問它:
child = my_objects[1] # this is the second one you created
print(child.name) # this prints 'two'
child.name = 'second' # now the name is second!
或者,您可以直接調用my_objects[1].name = 'second'
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.