gpt4 book ai didi

python - 更好地理解 __str__ 用法

转载 作者:太空狗 更新时间:2023-10-30 00:28:25 26 4
gpt4 key购买 nike

我试图更好地理解 __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__ 的一些良好用法示例有哪些?我提供的示例是否会受益于使用该功能?

最佳答案

打印统计数据是 __str__() 的一个很好的用途。只需使用字符串格式来返回单个字符串值:

def __str__(self):
return ('Name: {name}\n'
'Poisoned: {poisoned}\n'
# etc.
).format(**self.__dict__)

关于python - 更好地理解 __str__ 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13593191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com