我感到惊讶的是,与BASIC python不同的是,它没有.left,.right和.mid用于字符串的方法。
正如其他地方所述,编写函数来完成技巧很容易,但是可以向本机类添加方法吗?
如此
a = "Spam"
b = a.left(3)
print(b)
将输出:
Spa
答案 0 :(得分:1)
b = a[:3]
将使用字符串的3个首字符
b = a[:15]
不会出错(不确定python2)
c = a[-3:]
最后3个字符
但是您仍然可以覆盖(继承)字符串类型
class MySuperString(str):
def left(self, num_char):
return self[:num_char]
a = MySuperString('plop')
b = a.left(3)
例如参见:http://www.nomadiccodemonkey.com/?p=590
编辑:
if isinstance(a, str):
将不再工作,请改用它:
if issubclass(a, str):
或者自然是这样:
if isinstance(a, MySuperString):
法国人的笑话:SuperSlip等游戏!
答案 1 :(得分:0)
您可以创建自己的函数。
right = lambda str, index: str[-index:]
left = lambda str, index: str[:index]
a = "Spam"
print(left(a,3))
print(right(a,3))