标签:mos class 练习 rac super self str 报错 err
字符串加法会将两个字符串连接
>>> 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‘
标签:mos class 练习 rac super self str 报错 err
原文地址:http://www.cnblogs.com/marianyad/p/6690694.html