我正在尝试制作一个简单的游戏,我具有一个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不太满意)
答案 0 :(得分:0)
“默认”参数是具有默认值的参数。在这种情况下,您的默认参数是attack = self.stats.get("Attack")
和defence= self.stats.get("Defence")
。非默认参数不能放在默认参数之后,默认参数必须始终位于参数列表的末尾。