通过Python中的类方法更新__init__元素



我有一个将字符串列表作为参数的类,我想拥有我的类方法在 INIT 方法中更新元素。不确定这是可能的还是不好的做法,但是任何建议都将不胜感激!代码就像:

class TextList:
    def __init__(self, listofstrings):
         self.strings = listofstrings
    def my_method(self):
        newstrings = [i.strip() for i in self.strings]
        # code that updates 'self.strings' to equal 'newstrings'

以便我可以运行:

mylist = TextList(mylistofstrings)
mylist = mylist.my_method() 

和mylist.strings将等于" my_method"

的输出

再次感谢!

如果您只想更新现有列表,则可以直接执行此操作。

def my_method(self):
    self.strings = [i.strip() for i in self.strings]

由于此方法直接更新self.strings,因此无需返回任何内容。

>>> mylist = TextList(["hin", "byen"])
>>> mylist.strings
['hin', 'byen']
>>> mylist.my_method()
>>> mylist.strings
['hi', 'bye']

最新更新