位置参数OSX

时间:2017-08-30 19:53:10

标签: python arguments

mac终端说我将两个位置参数传递给take_damage方法......

from enemy import Enemy

random_monster = Enemy("Basic enemy", 12, 1)
print(random_monster)

random_monster.take_damage(4)
print(random_monster)

,另一个文件在这里______________________

class Enemy:

def __init__(self, name="Enemy", hit_points = 0, lives = 1):
    self.name = name
    self.hit_points = hit_points
    self.lives = lives

def take_damage(damage):
    remaining_points = self.hit_points - take_damage
    if remaining_points >= 0:
        self.hit_points = remaining_points
        print("i took {} damage and have {} left".format(damage, self.hit_points))
    else:
        self.lives -= 1

def __str__(self):
    return "Name: {0.name}, Lives: {0.lives}, Hitpoints: {0.hit_points}".format(self)

1 个答案:

答案 0 :(得分:1)

所有方法都需要self以及任何其他参数。

def take_damage(self, damage):