パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「Python 3.0」リリース、仕様変更多数」記事へのコメント

  • raw string (スコア:3, 参考になる)

    by T.Sawamoto (4142) on 2008年12月05日 15時57分 (#1468141)
    タレコミ文にある

    ……さらに、「\u」「\U」は通常の文字列(そのまま\u、\Uという文字列)として扱われるようになった。
    はちょっと違いますー。
    “「\」はraw文字列内において、常に字義通りに解釈されるようになった”
    ぐらいがより正確なのではないかと。
    rawでない普通の文字列リテラルでは当然「\u」が使えますので。
    (じゃないと文字コード指定できないことに……)

    Pythonでは文字列リテラルとしてraw文字列というものがあります。
    リテラル中で「\」をエスケープさせたくないばやいに使うもので、文字列の前に r を付け加えることでraw文字列になります。
    (正規表現の記述で重宝)
    但し、2.6以前ではUNICODE16進指定のみ、文字コード指定であると解釈されるという実装になっていました。

    >>> '\1'
    '\x01'
    >>> r'\1'
    '\\1'
    >>> ur'\u0021'
    u'!'
    これが、3.0以降からはUNICODE16進指定も無視され、raw文字列中の「\」は全てそのままの文字として出力されることになります。

    >>> '\1'
    '\x01'
    >>> r'\1'
    '\\1'
    >>> r'\u0021'
    '\\u0021'

Stay hungry, Stay foolish. -- Steven Paul Jobs

処理中...