首页 > 解决方案 > super().__init__(damage) 未定义变量

问题描述

我在使用super().__init__(damage)我有未定义的损坏变量时遇到问题,我已经阅读了 de 文档,我认为我对我测试过的语法没问题:Weapon().__init__(self, damage)它也是同样的问题

class Weapon:
    def __init__(self, damage):

        self.damage = damage
        

    def generateItemStats(self):

        self.damage = random.randint(1, 5)



class Item(Weapon):
    def __init__(self, quality):
        super().__init__(damage) #error here undefined variable damage

        self.quality = quality
        self.generateQuality()

    def generateQuality(self):

        #self.quality = 500
        self.quality = random.randint(0, 500)

    def generateItem(self):

        if self.quality <= 300:
            print("Normal")
        elif self.quality > 300 and self.quality <= 450:
            print("Magique")
        elif self.quality > 450 and self.quality <= 499:
            print("Rare")
        else:
            print("Légendaire")


item1 = Item("")
item1.generateItem()

我在开始时随机导入:)

标签: python-3.x

解决方案


推荐阅读