我在一个名为Weapons.py
的文件中有一个名为Pistol
的类,如下所示:
class Pistol(object):
MAXAMMO = 6
def __init__(self, ammo):
if(ammo <= self.MAXAMMO):
self.ammo = ammo
def shoot(self):
if(ammo > 0):
accuracy = random.randint(0, 3)
return 3 * accuracy
ammo -= 1
else:
print("No ammo")
以及一个名为ColtM1911
的类,它继承自Pistol
。看起来像这样:
当我跑步时:
import Player
import SetUp
from Utils import *
import pickle
import TitleAnimation
import os
import SaveLoad
from Weapons import *
gun = ColtM1911(5)
在另一个文件中,它给了我"TypeError: object() takes no parameters"
当在shell中尝试它的工作时,所以我怀疑这是因为它在一个单独的文件中。在
完整的回溯是
Traceback (most recent call last):
File "C:\Users\James\Documents\game.py", line 3, in <module>
gun = Weapons.ColtM1911(5)
TypeError: object() takes no parameters
如果
Pistol
实际定义为:在Python3.x中,根本不需要
^{pr2}$object
;默认情况下,所有类都是新样式的。此外,还存在逻辑错误,M1911.__init__
是冗余的。尝试类似于:相关问题 更多 >
编程相关推荐