我试图更好地理解该__str__
功能的正确用法。假设我有一个名为 Character 的非常简单的类,用于游戏中,如下所示:
class Character(object):
""" A game character. """
def __init__(self, name):
self.name = name
self.poisoned = False
self.strength = random.randrange(10, 20)
self.max_strength = self.strength
self.dexterity = random.randrange(10, 20)
self.max_dexterity = self.dexterity
self.hit_points = 100
self.spell_points = 100
self.weapon = []
self.spell = []
self.items = []
self.aura = []
self.xp = 0
在了解该__str__
函数之前,我会定义一个名为的类的方法,该方法print_stats(self)
将通过Character.print_stats()
. 在了解了__str__
这似乎是一个用于定义和显示对象统计信息的函数之后,类似于我会做的事情print_stats(self)
......但在玩它并了解到返回的值必须是一个字符串并且不包含整数,看来我的假设是错误的。
所以现在我的问题是有哪些很好使用的例子__str__
?我提供的示例是否会从使用该功能中受益?