我的当前文件中有一个名为Rabbits
的类(名为rabbits.py
)。
在Rabbits
中,我有一个名为carrots()
的方法。
在另一个文件中,我有一个名为Whales
的类(在名为whales.py
的文件中)。
在Whales
我有一个名为swimming()
的方法。
如果我正在尝试在carrots()
中打印包含swimming()
返回的字符串的字符串;我该怎么办?会是print(str(self.whales.swimming())
吗?
我一直收到以下错误:
AttributeError: 'str' object has no attribute 'name'
答案 0 :(得分:0)
你的战士有武器,因此可以调用武器的方法:
# weapon.py
class Weapon:
def __init__(self, name, dmg):
self.name = name
self.dmg = dmg
def attack(self, target):
target.health -= self.dmg
# fighter.py
class Fighter:
def __init__(self, name, weapon=None):
self.name = name
self.weapon = weapon
def attack(self, target):
if self.weapon is None:
# punch him
target.health -= 2
else:
self.weapon.attack(target)