簡體   English   中英

使用變量實例化時如何調用特定對象?

[英]How do you recall a specific object when using a variable to instantiate?

我見過的所有創建對象實例的代碼都使用了一個變量,並且對象實例的使用是短暫的,就像游戲一樣。 一個新游戲取代了那個實例,並且不需要召回以前的對象。 或者我見過不使用 catchall 變量的手動生成的實例。 c1c2等等。

class Child:
    def __init__ (self, name,):
        self.name = name


child = Child(name)

我創建了對象的多個實例,並通過將它們附加到列表中將它們附加到另一個類中。 但是,如果我要更改實例的屬性,我不知道如何使用用於實例化的通用變量“child”來調用它。 當我使用c1c2實例化時,我可以這樣做:像c1.name 但我必須手動編寫c1c2 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM