复制不实际复制没有参考

时间:2017-05-09 22:32:12

标签: python

我无法理解为什么eMaxHP会随着当前的HP不断变化,正如包含HP的怪物词典所示。

import copy

monsterDict = {'hp':5}

class Battle(object):

    def __init__(self, monster):
        self.monster = monster

    def __str__(self):
        eMaxHP = copy.copy(self.monster['hp'])
        out = str(self.monster['hp'])  + "/" + str(eMaxHP)
        return out

    def damageEnemy(self):
        self.monster['hp'] -= 2

hi = Battle(monsterDict)
print(hi)
hi.damageEnemy()
print(hi)

最终怪兽的健康打印12/12,如果你造成18点伤害它真的应该是12/30。

我该怎么办?

0 个答案:

没有答案