我目前正在学习Python。由于我是OO(面向对象)编程的忠实拥护者,因此显然在Python中应用它并不难。但是,当我尝试它时,它似乎与C#完全不同。
如下所示,我正在尝试创建一个具有三个属性Id,Hp和Mana的角色类。得分是通过将Hp和Mana相加然后乘以10得出的。
如您所见,在定义MyChar where之后id=10 hp=100 mana=100,我期望的MyChar.Score是(100 + 100)* 10,即2000,但是很奇怪,它说:
bound method Character.Score of <__main__.Character object at 0x0000021B17DD1F60>作为的结果print(MyChar.Score)。
我该如何解决这个问题?
这是我的代码:
class Character:
def __init__(self, Id, Hp, Mana):
self.Id = Id;
self.Hp = Hp;
self.Mana = Mana;
def Score(self):
return (self.Hp + self.Mana)*10;
MyChar = Character(10, 100, 100);
print(MyChar.Score)
Run Code Online (Sandbox Code Playgroud)