Python 2.7:'string'对象的'replace'方法已弃用
我的“同事”刚告诉我,string对象的replace方法已经被淘汰,并且会在3.xx版本中被移除。
这是真的吗?如果是真的,我该怎么替代它呢(能给点例子吗)?
3 个回答
0
要做到这一点,你可以使用下面的代码:
a = "hello".replace("e", "o")
print(a)
这段代码的输出结果应该是这样的:
hollo
5
根据我对这些弃用警告的理解,只有某些函数被标记为不推荐使用,而方法则没有。
比如,如果你使用:
s = 'test'
string.replace(s, 'est', '')
你应该把它替换成
s.replace('est', '')
21
3.2版本的文档里并没有说字符串类型的replace方法应该被移除。我也看不出有什么理由让人去这么做。
不过,字符串模块里的replace函数是被移除了。
举个例子:
"bla".replace("a", "b")
这个调用的是字符串类型的replace方法。
string.replace("bla", "a", "b")
这个调用的是字符串模块的replace函数。
也许这就是你的同事搞混的地方。使用字符串模块的函数在Python里是一种非常非常老旧的做法。从Python 2.0开始,它们就被标记为不推荐使用了(!)。我对Python的历史了解不多,但我猜大概是在他们把面向对象的概念引入语言的时候。