我想知道是否有方法在python中將對象名稱打印爲字符串。例如,我希望能夠說ENEMY1有2 hp左或ENEMY2有4 hp左。有沒有辦法做到這一點?\python中的打印對象/實例名稱
class badguy:
def __init__(self):
self.hp = 4
def attack(self):
print("hit")
self.hp -= 1
def still_alive(self):
if self.hp <=0:
print("enemy destroyed")
else :
print (str(self.hp) + " hp left")
# creating objects
enemy1 = badguy()
enemy2 = badguy()
enemy1.attack()
enemy1.attack()
enemy1.still_alive()
enemy2.still_alive()
可以,但你會發現,它更有意義,只是對'badguy'類'name'場。反映變量名稱幾乎總是一個壞主意。另外,如果你有一個巨大的敵人名單? – Ares
對象沒有唯一的名稱。如果你做'newname = enemy1',那麼這個對象的「名稱」是什麼? – BrenBarn
大多數物體沒有名稱。變量有名稱,但變量和對象之間沒有一一對應的關係。 – user2357112