タグ

2010年10月2日のブックマーク (4件)

  • Pythonのエンコーディングでよくはまるのでメモ - suztomoのはてなダイアリー

    Python温泉に来て以前貰ったReal World Haskellを読み進めています.Haskellとは関係ないですが,さっきUnicodeとかutf-8とかのエラーについてさぼてんの人や@tokibitoさんや@whosaysniさんに教えてもらったのでメモ. Pythonのstringはbyte列であり,Unicode文字列は内部でどのような表現が使われているかプログラマが意識しなくていいというのがミソだった.どのようなbyte列であるかを指定するにはUnicode文字列を作成するとき*1や,Unicode文字列をPythonの外に出す(端末への出力やファイルへのリダイレクト)ときに指定する必要がある. 具体的には端末上では動いているけれどもファイルへリダイレクトするときにエラーがでるときがある.これは端末はUnicode文字列をどのようなバイト列で出力すればいいかを教えてくれるとい

    Pythonのエンコーディングでよくはまるのでメモ - suztomoのはてなダイアリー
  • Python bite: グローバル変数へのアクセス | Inside ASCADE

    % cat multiply.py var = 10 def multiply(x): var *= x multiply(10) print var % python multiply.py Traceback (most recent call last): File "./multiply.py", line 6, in ? multiply(10) File "./multiply.py", line 4, in multiply var *= x UnboundLocalError: local variable 'var' referenced before assignment

  • 文字列の置換

    文字列の置換 文字列の置換も簡単に行えます。文字列の置き換えはre.subまたはre.subnメソッドを使います。re.subはつぎのようなプロトタイプを持ち、結果として置換された文字列を返します。 sub(pattern, repl, string[, count = 0]) count=0はpatternに一致したすべての部分文字列を置き換えることを示します。 re.subnはsubと同じに文字列を置換しますが、結果として次のような組(tuple)を返します。 (置換後の文字列、置換された部分文字列の数) リスト1にsubとsubnの使用例を示します。 リスト1 # # 文字列の置換 # import re s = "password = 01234" y = re.sub("[0-9]", "*", s) print y s = "his name is paul." y = re.

  • Python reモジュールで使える正規表現演算子

    ドキュメントは Pythonのライブラリマニュアルlibre.texの内容を 元にして作成されています。 正規表現の構文 正規表現(RE)は、それにマッチする文字列の集合を特定します。モジュール 中の関数は、特定の文字列が与えられた正規表現にマッチするかどうか(あるい は与えられた正規表現が特定の文字列にマッチするかどうか)を検査します。 新しい正規表現を構築するために、正規表現を連結することができます。A と Bの両方が正規表現であるとき、AB もまた正規表現です。あ る文字列 pがAにマッチし、別の文字列 qがBにマッチするので あれば、文字列 pqはABにマッチします。したがってここで説明したよ うに、複雑な正規表現は単純な正規表現から簡単に構築することができるので す。正規表現の理論と実装に関する詳細は、後述するFriedl のを参照するか、 コンパイラー作成に関する教科書を