タグ

ブックマーク / morchin.hatenadiary.org (2)

  • 2008-09-23 - プログラミング日記 [一般] 〜使い

    最近『初めてのRuby』を読んでいる。Pythonのメソッドの第一引数にselfを書かなくてはいけないが、Rubyと対比して理由がなんとなく分かったので検討してみる。 まずPythonではRubyと同様、インスタンスメソッドとトップレベル関数の区別がない。Pythonではメソッドと関数という呼び方をする。関数およびメソッドは単なるオブジェクトの属性である。つまりメソッドはクラスオブジェクトのcallableな属性、関数はモジュールオブジェクトのcallableな属性である。Pythonでも全てがオブジェクトなので、この区別をしないということが重要となる。 ここで、以下のクラス定義を考えてみる。 >>> class Foo: ... a = 1 ... def foo(self): ... a # エラー (1) ... Foo.a # OK (2) ... self.a # OK (3)

    2008-09-23 - プログラミング日記 [一般] 〜使い
  • 型の利用法 - 2008-03-17 - プログラミング日記

    lethevert is a programmer: 変数の型は2つの異なるレベルの概念が混在しているような気がする (http://d.hatena.ne.jp/lethevert/20051224/p1) 以下、自分用に整理してみる。 1. 計算機の物理的な演算機能やデータ形式を、コード上で明示する 2. 抽象的なデータの分類概念を、コード上で明示する 1.は、「データ型」と「値型、参照型」の2種類ある。つまりデータの種類を表す。2.は、それ以外の用途として型を利用する方法。 2つ目の型を利用するメリットを考えてみる。メリットは以下のもの。 型安全 コンパイル時チェック グループ化 継承 パターンマッチ 例外処理、ポリモルフィズム 名前空間の内と外の区別 インタフェース パフォーマンスの向上 コンパイル時に型を決定 型に付随する修飾子などにより決まる属性。 変数の寿命 static 定

    型の利用法 - 2008-03-17 - プログラミング日記
  • 1