我创建了一个敌人类,它从文件中读取数据以获取其实例变量。 该文件被写入不同类型的敌人的不同阵列。他们工作正常。当我把它们写到对象然后尝试打印它我得到错误:
AttributeError: 'NoneType' object has no attribute 'type'
如果我不打印'type'属性,则说:
AttributeError: 'NoneType' object has no attribute 'health'
课程是:
def Enemy(object):
def __init__(self, TypeStats):
self.type = TypeStats[0][0]
self.health = int(TypeStats[0][1])
self.strength = int(TypeStats[0][2])
self.dead = False
将数组写入对象并打印变量的代码是:
Bandit = Enemy(BanditStats)
print Bandit.type, Bandit.health, Bandit.strength
我将其作为2D数组编写的原因是因为当我将数据从文件写入数组时,它会创建一个数组:
BanditStats = [['Bandit', '80','7']]
我不知道为什么会这么容易解决?
答案 0 :(得分:2)
您没有使用def
定义类。它应该是class
:
class Enemy:
...