如何在Python类中实现实例text属性的清空与重置功能?
解决方法
要实现use()清空文本、reset()恢复初始值的需求,核心是在初始化时保存一份原始文本的副本,这样重置时有可恢复的依据。修正后的代码如下:
class WordSlice: def __init__(self, text: str): self.text = text # 存储初始文本,后续重置用 self.original_text = text def use(self): self.text = '' return self.text def reset(self): # 直接将text恢复为初始值 self.text = self.original_text return self.text
关键说明
- 在
__init__方法中新增self.original_text,专门保存创建实例时传入的初始文本,这个属性不会被use()方法修改,始终保持原始值。 reset()方法不需要用replace(这是字符串替换方法,无法实现恢复初始值的功能),直接把self.text重新赋值为self.original_text即可。- 后续判断
self.text是否为空,直接用if not self.text:就可以,空字符串在布尔判断中会被视为False。
内容的提问来源于stack exchange,提问作者need help
相关产品推荐
相关产品推荐

