Python中strip()函数不起作用

Python中的strip()可以删除两端的“空白”

如果,制定了一个char,则str.strip(char)可以剔除两端的char中包含的字符!

但如果发生剔除操作运行后,没有起作用,则是没有赋以新的值:

    def __str__(self):
        msg = self.cookedString + '地瓜'
        if self.condiments:
            msg += "佐料有("
            for condiment in self.condiments:
                msg += condiment + ","
            msg.strip(",")    #出错之处!
            msg += ")"
        return msg

正确的写法如下:

    def __str__(self):
        msg = self.cookedString + '地瓜'
        if self.condiments:
            msg += "佐料有("
            for condiment in self.condiments:
                msg += condiment + ","
            msg = msg.strip(",")    #出错之处!
            msg += ")"
        return msg

原因如下:

      Python中的字符串为不可变类型,则你对msg本身做strip()都是无法更改的期原来的值,但是strip()会返回一个新的值,需要再次保存才可以体现!

猜你喜欢

转载自blog.csdn.net/qq_19672707/article/details/79573715