Sah*_*ory 2 python class typeerror python-3.x
嗨我得到这个错误
TypeError: attack() missing 1 required positional argument: 'self'
Run Code Online (Sandbox Code Playgroud)
这是我的代码
class Enemmy :
life = 3
self = ""
def attack(self):
print ("ouch!!!!")
self.life -= 1
def checkLife(self):
if self.life <= 0 :
print ("dead")
else:
print (self.life)
enemy=Enemmy
enemy.attack()
Run Code Online (Sandbox Code Playgroud)
我检查并查看大多数地方说我忘了自我在def攻击或我需要做一个obj把我的类使用python 3.4与py魅力我实际上从教程得到这个代码,我不知道我的是什么错误
你没有实例化你的Enemy课程.您正在创建对类本身的新引用.然后,当你尝试调用一个方法时,你正在调用它而没有一个实例,它应该进入self参数attack().
更改
enemy = Enemy
Run Code Online (Sandbox Code Playgroud)
至
enemy = Enemy()
Run Code Online (Sandbox Code Playgroud)
另外(正如Kevin在评论中指出的那样)你的Enemy类应该有一个init方法来初始化它的字段.例如
class Enemy:
def __init__(self):
self.life = 3
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18633 次 |
| 最近记录: |