gpt4 book ai didi

python - 类型错误:攻击()缺少 1 个必需的位置参数: 'self'

转载 作者:行者123 更新时间:2023-11-28 20:20:45 26 4
gpt4 key购买 nike

嗨我收到这个错误

TypeError: attack() missing 1 required positional argument: 'self'

这是我的代码

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()

我检查并查看了大部分地方说我在 def 攻击中忘记了 self 或者我需要制作一个 obj 来放入类(class)我正在使用带有 py 魅力的 python 3.4我实际上是从教程中得到这段代码的,但我不知道我的错误是什么

最佳答案

您没有实例化您的 Enemy 类。您正在创建对类本身的新引用。然后当你尝试调用一个方法时,你是在没有实例的情况下调用它,它应该进入 attack()self 参数。

改变

enemy = Enemy

enemy = Enemy()

此外(正如 Kevin 在评论中指出的那样)您的 Enemy 类可能应该有一个 init 方法来初始化它的字段。例如

class Enemy:
def __init__(self):
self.life = 3
...

关于python - 类型错误:攻击()缺少 1 个必需的位置参数: 'self',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com