练习:字符串减法

字符串加法会将两个字符串连接

>>> a = " 我是超级 "

>>> b = "因为我内裤外穿了"

>>> a + b
' 我是超级 因为我内裤外穿了'

但遗憾的是 字符串减法会抛出异常。

 

定义一个类,支持字符串减法: A - B。 从A中去除所有B的子字符串。

class Nstr(str):

    def __sub__(self , other):

        return self.replace(other , "")

 

本人错误:

>>> a = " l am a superman"

>>> b = "super"

>>> a - b

Traceback (most recent call last):

  File "<pyshell#27>", line 1, in <module>

    a - b

TypeError: unsupported operand type(s) for -: 'str' and 'str'

 

写完上面的类之后,直接调用减法,错误错误错误。
这么写a,b的类型还是str,  str本身没减法,所以报错误。

>>> type(a)

<class 'str'>

>>> type(b)

<class 'str'>

 

正确方法:

>>> a = Nstr("l am a superman")

>>> b = Nstr("super")

>>> a - b

'l am a man'

 

转载于:https://www.cnblogs.com/marianyad/p/6690694.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值