Python

文字列を空白で区切る

文字列を空白で区切ってリストに変換する, Haskell で言う words 的な処理が Python で必要になったので,書いてみた. import re def words(s): return re.findall( r"\S+", s ) words( "hoge fuga \n piyo" ) # ["hoge", "fuga", "piyo"] 正規表現さん素…

と思ったけど

明らかな異常系以外で例外に頼らなければいけない状況は変だ、と思い直した。 気軽にぽんぽん例外を投げるような設計は、どうなのだろう、と。 その辺は言語の文化も関わってくるけれど、例えばC++だと、例外は基本的に「例外的な事情」がある時しか投げない…

変数のスコープとか条件演算子とか辞書とか

Pythonにおける局所変数のスコープは、ブロックレベルではなく関数レベルで管理されます: x = 0 def f( cond ): if cond: x = 1 # これは f に変数 x を作っている。上の x とは無関係。 else: x = 2 return x # f の x が返される。 print( f(True) ) # 1 …