[英]How to call or refer to an instance attribute from another's class method
作为Python的初学者,我正在尝试创建一个简单的基于文本的游戏。 我想知道如何正确地指monster
我的实例Monster
类,从内scan
,我在我的定义方法Character
类(这是甚至有可能?)。
class Monster:
def __init__(self):
self.HP = 5
self.color = 'blue'
class Character:
def scan(self):
print("{} is {} and has {} HP.".format( monster.__name__,
monster.color,
monster.HP ))
class Game:
def __init__(self):
self.monster = Monster()
self.player = Character()
self.player.scan()
Game()
我读了很多书,尝试过getattr
事情,但是没有任何运气。 我知道我可以将scan
方法直接放在Game
并使用self.monster.HP
和self.monster.color
,但是我真的很想避免这种情况。
欢迎任何帮助或批评,在此先感谢:)
您将显式传入怪物进行扫描:
class Character:
def scan(self, monster):
print("{} is {} and has {} HP.".format(
monster.__name__, monster.color, monster.HP))
和:
self.player.scan(self.monster)
这样,您的代码也可以处理多个怪物。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.