在类中使用return语句从类中获取值

2024-06-16 14:02:53 发布

您现在位置:Python中文网/ 问答频道 /正文

class Player1:
    base_HP = 300

    def getBHP(self):
        return self.base_HP


jogador1 = Player1
jogador1_hp = jogador1.getBHP() #Functions and Class calls must end with brackets.


print(jogador1_hp)

这就是我用来获得玩家生命值的代码,我想把它保存在1hp。你知道吗

我得到的是:

C:\Users\joaol\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/joaol/PycharmProjects/FirstProgram/Main.py
<function Player1.getBHP at 0x02C131E0>

Process finished with exit code 0

即使我这样做了,我仍然得到一个空白的控制台。你知道吗

class Player1:
    base_HP = 300

    def getBHP(self):
        print(self.base_HP)


jogador1 = Player1
jogador1.getBHP

编辑:我修复它,我只需要添加“()”当我创建对象!你知道吗

jogador1 = Player1()
jogador1_hp = jogador1.getBHP()

Tags: selfbasereturndefwithfunctionsusersclass
3条回答

必须调用方法才能执行它们。你知道吗

jogador1_hp = jogador1.getBHP()

如果我使用jogador1\u hp=jogador1.getBHP(),我会得到:

C:\Users\joaol\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/joaol/PycharmProjects/FirstProgram/Main.py
Traceback (most recent call last):
  File "C:/Users/joaol/PycharmProjects/FirstProgram/Main.py", line 19, in <module>
    jogador1_hp = jogador1.getBHP()
TypeError: getBHP() missing 1 required positional argument: 'self'

Process finished with exit code 1

不能实例化Player1类。在代码中,jogador1只是Player1类的另一个名称。您应该调用类来实例化它,比如:jogador1 = Player1()

相关问题 更多 >