python

lispとrubyとpythonと その8 ファイルIO(python)

PytyonでのIO。 with ... as を綺麗にかけるととるか不格好ととるか。。。 #確保と開放はwith ... as で。 with open("test.txt","w+") as f: f.write("hello world\n") with open("test.txt","r") as f: for l in f: print(l) #->hello world #バイナリファ…

lispとrubyとpythonと その4 Cライブラリの呼び出し(python) の追記

lispとrubyとpythonと その4 Cライブラリの呼び出し(python) - テンポラリにfgshunさんからコメントをもらったので試してみた。 呼び出しているcライブラリはこんどもlispとrubyとpythonと その4 Cライブラリの呼び出し(lisp) - テンポラリと同じもの。呼…

lispとrubyとpythonと その7 デコレータ構文(pythonだけ)

python2.4から入ったデコレータ構文。 単純なシンタックスシュガーで動作も理解しやすいけど、色々使いどころはありそう。 面白い。 #デコレータ構文 #ここの説明が一番分かりやすかった #http://morchin.sakura.ne.jp/effective_python/decorator.html #C#…

lispとrubyとpythonと その6 正規表現(python)

Pythonでの正規表現。 #reモジュールを使う import re #正規表現をコンパイル #r""でrawstringになって\が特別な意味を持たなくなる。 #正規表現を書くときにはこっちを使うと便利 #re.compileの引数で設定変更できる(大文字、小文字区別しないとか) rx = r…

lispとrubyとpythonと その5 例外処理(python)

pytohnも普通。 #例外処理 def test1(): try: #raise #例外を発生させる raise NameError("error!") #例外が発生したときの処理 except: print("例外発生") #例外が発生しなかったときの処理 else: print("例外発生せず") #例外発生してもしなくてもやる処理…

lispとrubyとpythonとC# イテレータ

偶数だけ抽出して+1した数値を列挙するコード。 RubyとPythonとCommonLisp(series)とC#で書いた。Rubyは遅延評価しないのが微妙。 Ruby1.9のイテレータの意図がよく分からない。 ブロックを省略するとEnumeratorが返るけど、なんでそうなってるんだろ。 ブ…

lispとrubyとpythonと その2 (python)ver2

python3.0で書き直し。 #文字列連結 s = "abc" + "あいうえお" print(s) #->abcあいうえお #文字列の分割 import string arr0 = "あaあ,いiい,うuう,えeえ".split(",") for e in arr0: print(e) #->あaあ # いiい # うuう # えeえ #正規表現で分けてもいい i…

lispとrubyとpythonと(python3.0) ver2

Pythonも昔のエントリを更新。 Python3.0がでたので3.0に上げた。 一般的に使われるのがいつ頃になるのかわからないけど。Ubuntuのパッケージマネージャでサクッと入ったはいいけど、2.5を消すのも怖い。 なのでemacsからrun-pythonした時だけ3.0を使いたい…

lispとrubyとpythonと その4 Cライブラリの呼び出し(まとめ)

それぞれの言語でCと連携してみたまとめ、というか感想というか。 lispもRubyもPythonも呼び出し自体はわりと簡単。 ちゃんと動くかどうかは別として・・・。 一番すんなり理解できたのはSBCLだったような気がする。 Rubyの「拡張ライブラリをCで書く」って…

lispとrubyとpythonと その4 Cライブラリの呼び出し(python)

最後はpython。 Cとの連携方法はいくつかあるみたい(boost.pythonとかswingとか)あるみたいなんだけど、ctypesを使用。 呼び出しているcライブラリはlispとrubyとpythonと その4 Cライブラリの呼び出し(lisp) - テンポラリと同じ。 参考は、まぁここ。 ht…

lispとrubyとpythonと その3 リスト処理(python)

次はpython。 これもだいぶ前に書いたから忘れたよ・・・。 もったいない・・・。 # -*- coding:utf-8 -*- #関数 #可変長引数 def fun1(*arg): print arg def fun2(**arg): print arg #*だと引数としてタプルがくる fun1(1,2,3,4) #**だとDictonaryがくる fu…

lispとrubyとpythonと その2(python)

Python編。Pythonのシンタックス自体はRubyよりサクサク書ける印象なんだけど、関数とかクラスを調べながら書くとなぜかRubyの方が楽な印象。 なんでだろ?? ヘルプとかリファレンスの差なんだろうか?? # -*- coding:utf-8 -*- #文字列連結 s = "abc" + "…

lispとrubyとpythonと その2

ずいぶんあいたけど続き。 このペースだといつまでかかるか、そもそも続くのか分からないけど、目標は下の一覧に書いたことをlisp、ruby、Pythonで一通りやてってみることが目標。 ほんとはschemeとhaskellとOCamlでもやりたい。あ、一応、javaかC#もあれば…

Pythonのwithステートメント

匿名の方にコメントをもらった。 pythonのwithステートメントでは as の後ろに書いた変数には__enter__の戻り値が入ってくるそうだ。 ならこれでOK?? # -*- coding:utf-8 -*- from __future__ import with_statement import sys class Cls: def __init__(s…

lispとrubyとpythonと(感想)

三つ触ってみて思ったこと。 python タイプ量が少ないような気がした。 オフサイドルールが結構いい。ブレース打ったり括弧打ったりする手間が丸ごとなくなるって思ったより快適だった。 lisp書いたあとにpythonを書くと「なんだかサクサクすすむな」という…

lispとrubyとpythonと(python)

つぎ。python。 書いたの始めてに近いから間違ってるかも。 # -*- coding:utf-8 -*- #↑日本語とおすため #コメントは#で始める #後で使う(withステートメント) from __future__ import with_statement import sys #標準出力に表示 print "こんにちは" #,を…

lispとrubyとpythonと (REPL)

common lispとPythonを比べてみた。 pythonには興味があったし、いい加減MS以外のことをやりたくって。。。 で、、、ついでにRubyも触ってみた。 schemeも触ろうか、と思ったんだけどそこまでは時間がない。まずはいじるためにemacsとREPLの整備 common lisp…

Rubyのブロック

Guarded Suspension - qnzm.log(クニジマログ)を読んでの続き。 Rubyのブロックが気になって調べてみた。http://itpro.nikkeibp.co.jp/article/COLUMN/20050930/221979/ でまつもとさんが ・ブロックが制御構造を作る ・制御構造っぽく見せるためブロックを…

無知

C#のyieldってpythonが発祥だったのね。 ジェネレータってこのことなのね。 無知だ。あまりにも無知だ。