Python を少し触ってみた

ドキュメントもない状態で。

  • help や copyright 、 exit なんかもオブジェクトであることに笑。
  • 関数名だけで関数オブジェクト的なものを返して(...)でそれを呼び出すという形は好み。
  • 代入だけで関数の別名を作れる、すばらしい!でもその代わり関数呼び出しの括弧を省略できないけど仕方がない。
  • 代入とprintが文なのはあまり好きじゃない
  • int(3.14)みたいなのはint関数ではなくてtype型のオブジェクトintに()メソッドを呼んでいるというイメージ。好き。
  • 0 や '' 、 0.0 なんかが偽なのに違和感
  • int(True) => 1 int(False) => 0 うーん。
  • strとint間に暗黙の型変換なし
  • tuple ってなんだろー。listとどう違うのかな。
  • &&, ||, ! がない。and, or, not を使う
  • Ruby みたいに引数に*が使える。
def hoge(*a):
	print a
hoge(1,2,3) #=>(1,2,3)
hoge(1,*(2,3)) #=> (1,2,3)

読み中。

いくつかの仕様が気に入ったのでパクって calc に実装してみたい。(そうそう calc は parse / scan に racc / strscan を使うようにつくりかえて、クロージャなんかも実装したんだよ)