gpt4 book ai didi

python - 可变 str 类扩展

转载 作者:行者123 更新时间:2023-12-02 07:21:22 27 4
gpt4 key购买 nike

我编写了 str 类(内置)的以下扩展,以便执行以下操作:假设我有字符串 "Ciao" ,通过做"Ciao" - "a"我想要的结果是字符串 "Cio" 。这是执行此操作的代码,并且运行良好:

class my_str(str):
def __sub__(self, other):
p = list(other)
l = ""
for el in self:
if (el in p) == False:
l += el

return my_str(l)

if __name__ == "__main__":
s = my_str("Ciao")
p = my_str("a")
t = s - p
print(t) # 'Cio'
print(s) # 'Ciao'

现在,假设我想要函数 __sub__直接更新对象s ,这样当我输入 print(s) 时执行 s - p 后输出将是“Cio”。我该如何修改类my_str

最佳答案

您可以使用

from collections import UserString  
class Test(UserString):
def __add__(self, other):
self.data = self.data + other

UserString 类用于对内置字符串进行子类化,并以 self.data 字段的形式为您提供实际内容。

关于python - 可变 str 类扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595795/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com