【问题标题】:Python error: missing 1 required positional argument: 'self' [duplicate]Python 错误:缺少 1 个必需的位置参数:'self' [重复]
【发布时间】:2017-06-13 04:52:06
【问题描述】:

我是 Python 的新手,我正在尝试学习如何使用类。有谁知道这怎么不起作用?任何关于关键字“self”的额外提示将不胜感激。

代码:

class Enemy:
    life = 3

    def attack(self):
        print('ouch!')
        self.life -= 1

    def checkLife(self):
        if self.life <= 0:
            print('I am dead')
        else:
            print(str(self.life) + "life left")


enemy1 = Enemy
enemy1.attack()
enemy1.checkLife()

错误:

C:\Users\Liam\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Liam/PycharmProjects/YouTube/first.py
Traceback (most recent call last):
  File "C:/Users/Liam/PycharmProjects/YouTube/first.py", line 16, in <module>
    enemy1.attack()
TypeError: attack() missing 1 required positional argument: 'self'

Process finished with exit code 1

【问题讨论】:

标签: python class self


【解决方案1】:

Enemy 是类。 Enemy() 是类 Enemy 的一个实例。 你需要初始化类,

enemy1 = Enemy()
enemy1.attack()
enemy1.checkLife()

【讨论】:

  • 您能帮我一个忙,然后将答案标记为选中吗?
  • 当然。它说我必须等待 7 分钟才能这样做。所以我会在 7 分钟内将其标记为已接受。
  • 感谢支持兄弟!!
  • 没问题 :) 我继续并选择了你的答案
猜你喜欢
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
相关资源
最近更新 更多