访问子类中的字典元素

时间:2020-07-01 05:21:39

标签: python default-value

我正在尝试制作一个简单的游戏,我具有一个Character类,并且具有如下所示的统计信息(词典)

class Character():
   def __init__(self, name):
     self.name = name
   stats = {
    
     "Health" : 100,
     "Attack" : 1,
     "Defence": 1 }

我有一个Player类,并且它有一个具有自我,攻击,防御和敌人等参数的攻击方法,我尝试从我使用的统计信息中访问值

def attack(self, attack = self.stats.get("Attack") , defence= self.stats.get("Defence"), enemy):
    pass

但它说

非默认参数紧随默认参数

自己不是默认的争论吗?以及如何解决? (我对OOP不太满意)

1 个答案:

答案 0 :(得分:0)

“默认”参数是具有默认值的参数。在这种情况下,您的默认参数是attack = self.stats.get("Attack")defence= self.stats.get("Defence")。非默认参数不能放在默认参数之后,默认参数必须始终位于参数列表的末尾。