python - 在python中创建一个'reset'方法来重置一个编辑过的字符串
问题描述
我正在学习课程,我正在与他们相处。我正在尝试编辑一个字符串并将其重置为原始形式。但我不知道如何制作“重置”方法。我尝试创建一个名为“original_string”的变量,并在 init 方法中将周长“string”分配给它,这样我就可以简单地将 self.string 分配给 original_string。我还尝试在课堂外创建“original_string”变量。但是在方法中,似乎我无法访问在该方法之外创建的变量。关于如何创建“重置”方法的任何想法?
class Reverse:
original_string = "Some string that will be edited"
def __init__(self, string):
self.string = string
original_string = string
def __str__(self):
return self.string
def reverseAll(self):
newString = ""
for char in self.string:
newString = char + newString
self.string = newString
def reverseOrder(self):
newString = ""
for word in self.string.split():
newString = str(word) + " " + newString
self.string = newString
def reset(self):
#Reset the edited string back to the original
self.string = original_string
string = Reverse("Trying to edit this string and reset it back to normal.")
print(string)
string.reverseOrder()
string.reverseAll()
string.reset()
print(string)
解决方案
只需self
在末尾添加标志
In [1]: class Reverse:
...: original_string = "Some string that will be edited"
...:
...: def __init__(self, string):
...: self.string = string
...:
...:
...: def __str__(self):
...: return self.string
...:
...: def reverseAll(self):
...: newString = ""
...: for char in self.string:
...: newString = char + newString
...: self.string = newString
...:
...: def reverseOrder(self):
...: newString = ""
...: for word in self.string.split():
...: newString = str(word) + " " + newString
...: self.string = newString
...:
...: def reset(self):
...: #Reset the edited string back to the original
...: self.string = self.original_string
...:
...: string = Reverse("Trying to edit this string and reset it back to normal.")
...: print(string)
...: string.reverseOrder()
...: string.reverseAll()
...: string.reset()
...: print(string)
...:
...:
Trying to edit this string and reset it back to normal.
Some string that will be edited ```
推荐阅读
- mysql - 无法设置唯一键以避免插入重复的行?
- scala - Spark(scala)Maven项目给出类未找到错误
- javascript - 原始顺序(性能版)代码战中的 N 个最小元素
- css - Bootstrap 4 截断文本显示至少两行
- python - 如何让我的输出从列中获取特定值,然后显示整行?
- python - 组合两个字典并用 Python 中的值替换键
- javascript - 未检测到 OWASP ESAPI XSS 攻击
- django - 当我使用样板时,Django 模型不渲染
- amazon-web-services - AWS Glue ETL - 将 Epoch 转换为时间戳
- c++ - boost::asio::system_timer 不会忽略信号