我的“同事”刚刚告诉我 字符串 对象的 replace 方法已被弃用,将在 3.xx 中删除。
是真的吗?如果是这样,我该如何替换它(用例子)?
原文由 Olivier Pons 发布,翻译遵循 CC BY-SA 4.0 许可协议
我的“同事”刚刚告诉我 字符串 对象的 replace 方法已被弃用,将在 3.xx 中删除。
是真的吗?如果是这样,我该如何替换它(用例子)?
原文由 Olivier Pons 发布,翻译遵循 CC BY-SA 4.0 许可协议
据我了解 http://docs.python.org/library/string.html#deprecated-string-functions 中的那些弃用警告,只有函数被弃用。方法不是。
例如,如果您使用:
s = 'test'
string.replace(s, 'est', '')
你应该把它换成
s.replace('est', '')
原文由 Thomas Zoechling 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答915 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
3.2 的 文档 没有说应该删除 str 类型的 replace 方法。我也看不出有人应该这样做的任何理由。
但是删除了 字符串 模块中的替换功能。
一个例子:
调用 str 类型的 replace 方法。
调用 字符串 模块的替换函数。
也许这就是您的同事所混淆的。使用 字符串 模块函数是在 Python 中执行此操作的一种非常非常古老的方法。从 Python 2.0(!) 开始,它们已被弃用。我对 Python 的历史不太了解,但我想当他们将面向对象的概念引入该语言时可能是正确的。