Python 2.7:廃止されたstringオブジェクトのメソッドを置き換える

私の "workmates"は、文字列オブジェクトのreplaceメソッドが廃止され、3.xxで削除されると私に言っただけです。

それが本当であるかどうか、なぜそうであれば、それを(例を使って)どのように置き換えるか、あなたに尋ねてもよろしいですか?

どうもありがとうございました。

5
help(str.replace)には非推奨の注釈は表示されません。彼らはどこから来たのかあなたの仲間に尋ねることはできませんか?
追加された 著者 Björn Pollex,
権威のある情報源で情報を見るまで誰もあなたに語るものは信じてはいけません。
追加された 著者 David Heffernan,

2 答え

3.2のドキュメントには、str型のreplaceメソッドが必要であることは何も記載されていません除去された。私は誰かがそれをするべき理由も見ない。

削除されたのは、文字列モジュールのreplace関数です。

例:

"bla".replace("a", "b")

str型のreplaceメソッドを呼び出します。

string.replace("bla", "a", "b")

文字列モジュールのreplace関数を呼び出します。

たぶんこれは、あなたの仲間が混ざったものです。文字列モジュール関数を使うことは、Pythonでこのようなことを行う非常に古くからの方法です。それらはPython 2.0(!)からはじまりません。私はPythonの歴史ではあまりよくありませんが、おそらくオブジェクト指向の概念を言語に導入したのは間違いありません。

19
追加された
ああ仲間、仕事仲間...あなたの答えをありがとう。私は彼らが非常に古い方法をコーディングしていると確信しています。
追加された 著者 Olivier Pons,

http://docs.pythonのこれらの廃止予定の警告を理解する限り、 org/library/string.html#deprecated-string-functions では、関数のみが推奨されなくなりました。方法はそうではありません。

例えばあなたが使用する場合:

s = 'test'
string.replace(s, 'est', '')

あなたはそれを

s.replace('est', '')
5
追加された