アカウント名:
パスワード:
地味に嬉しいのが、str.formatメソッドのフィールド番号が省略可能になった点ですね。これはPython 3.0から追加された文字列書式化メソッドなのですが、従来は全てのフィールドに番号が必要でした。(番号が振られるので、出力順序を変えられるという利点あり)
>>> print('foo = {0}, bar = {1}'.format(123, 456))foo = 123, bar = 456
これが、Python 3.1からは省略可能になったようです。(但し、出力順序は引数順固定、かつ番号指定形式との混在不可)
>>> print('foo = {}, bar = {}'.format(123, 456))foo = 123, bar = 456
また、Python 3.1から旧タイプの文字列書式化演算子'%'が非推奨になります。(PEP 3101 -- Advanced String Formatting [python.org])今すぐ消えてなくなるという訳ではないようですけど、今後Pythonのコードを新たに書くときにはご注意を。
# こっちの方がお手軽かつC言語のprintfに近いので、個人的には残念ですが(^^;)
また、Python 3.1から旧タイプの文字列書式化演算子'%'が非推奨になります。
非常に秀逸な演算子だと感じていたんですが、とても残念です。Pythonがどんどん簡潔でなくなっていく…
スクリプトを書き捨てる言語から、ライブラリを蓄積する言語に変わってきた感じがします。
built-in関数としてのformat()は、str()との違いを明確にさえできれば、結構嫌いじゃないかも、とは思いました。表示に適した文字列を作るのが目的なら、フォーマット指定をサボってformatを呼び出したらどうなる?strと同じ結果を返すのが自然な気がするけど、だとするとstrを呼び出す意味がなくなる。表示に適してなくてもいいから印字可能な文字列ってのなら、既にrepr()があります。
str.formatは、番号を振ることができるといったメリットはあったとしても、そんなのは従来の%演算子に同等の機能を付け足せばいいだけで、そちらに変える必要がよく分からない。どちらにせよ、単なる文字列の中に特定の文字列が登場したら、メソッドなり演算子なりで置換するという処理には変わりないわけだし、変えることのメリットが見えない。
特別な意味を持つ文字を変更してしまうと、ボーッとしてる人たちが直すの忘れてて、Python使ったCGIでの悪戯がたくさん起こる予感。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
雑感 (スコア:2, 参考になる)
地味に嬉しいのが、str.formatメソッドのフィールド番号が省略可能になった点ですね。
これはPython 3.0から追加された文字列書式化メソッドなのですが、従来は全てのフィールドに番号が必要でした。
(番号が振られるので、出力順序を変えられるという利点あり)
これが、Python 3.1からは省略可能になったようです。
(但し、出力順序は引数順固定、かつ番号指定形式との混在不可)
また、Python 3.1から旧タイプの文字列書式化演算子'%'が非推奨になります。
(PEP 3101 -- Advanced String Formatting [python.org])
今すぐ消えてなくなるという訳ではないようですけど、今後Pythonのコードを新たに書くときにはご注意を。
# こっちの方がお手軽かつC言語のprintfに近いので、個人的には残念ですが(^^;)
Re:雑感 (スコア:1)
また、Python 3.1から旧タイプの文字列書式化演算子'%'が非推奨になります。
非常に秀逸な演算子だと感じていたんですが、とても残念です。
Pythonがどんどん簡潔でなくなっていく…
Re:雑感 (スコア:2)
スクリプトを書き捨てる言語から、ライブラリを蓄積する言語に変わってきた感じがします。
Re: (スコア:0)
Re:雑感 (スコア:1)
built-in関数としてのformat()は、str()との違いを明確にさえできれば、結構嫌いじゃないかも、とは思いました。
表示に適した文字列を作るのが目的なら、フォーマット指定をサボってformatを呼び出したらどうなる?
strと同じ結果を返すのが自然な気がするけど、だとするとstrを呼び出す意味がなくなる。
表示に適してなくてもいいから印字可能な文字列ってのなら、既にrepr()があります。
str.formatは、番号を振ることができるといったメリットはあったとしても、そんなのは従来の%演算子に同等の機能を付け足せばいいだけで、そちらに変える必要がよく分からない。
どちらにせよ、単なる文字列の中に特定の文字列が登場したら、メソッドなり演算子なりで置換するという処理には変わりないわけだし、変えることのメリットが見えない。
特別な意味を持つ文字を変更してしまうと、ボーッとしてる人たちが直すの忘れてて、Python使ったCGIでの悪戯がたくさん起こる予感。
1を聞いて0を知れ!