Я написал код на Python IDLE с одним абстрактным классом и одним классом, которые наследуют этот абстрактный класс * (оба класса находятся в одной папке).Работает отлично.Я хочу скопировать и вставить этот код в PyCharm.Я сделал две карты, одну с абстрактным классом и одну с классом, который наследует этот класс, но я получаю эту ошибку:
class Swords(Weapon):
TypeError: module.__init__() takes at most 2 arguments (3 given)
Я в замешательстве, потому что я ничего не изменил в своем коде.Это код
Первая карта: оружие
from abc import ABC, abstractmethod
class Weapon(ABC):
@abstractmethod
def __init__(self, name):
self.name = name
Вторая карта: Меч
import Weapon
class Swords(Weapon):
def __init__(self, name, attack_points, price):
super().__init__(name)
self.attack_points = attack_points
self.price = price
def info(self):
info = self.name + " is attack-weapon that increases attack points!"
return info
def __str__(self):
return "Sword name: {}\nSword attack: +{}\nSword price: {}\n".format(self.name,
self.attack_points,
self.price)
Elf_Sword = Swords("Elf Sword", 1, 50)
Fire_Sword = Swords("Fire Sword", 2, 80)
Space_Sword = Swords("Space Sword", 3, 120)
print(Elf_Sword)
Пожалуйста, сообщитемне что я делаю не так?