热线电话:13121318867

登录
2019-01-27 阅读量: 1086
在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 ```

0.0000
6
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子