タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Pythonとオブジェクト指向に関するmasudaKのブックマーク (2)

  • インスタンスメソッド・クラスメソッド・スタティックメソッド - PASL

    Pythonで扱われるこれらのメソッドの違いを調べてみた。結論から言うと、これらのメッソドの違いは「インスタンス変数にアクセス可能か」、「継承時に親・子クラスのどちらのクラス変数を参照するか」の2つの観点で異なる。 メソッド インスタンス変数へのアクセス どちらのクラス変数を参照するか インスタンスメソッド 可 親 クラスメソッド 不可 子 スタティックメソッド 不可 親 ここで注意したいのは「親クラス」のクラス変数を変更すると「必ず」子クラスのクラス変数が変更されるということ。また当然のこととして、子クラスのインスタンス変数変更が親クラスのインスタンス変数を変更したりはしない。 具体例をつくってみた。method_example.pyというファイル名で保存。 class Boku(object): # これはクラス変数 subject = "ぼくは" name = "ドラえもん" def

    インスタンスメソッド・クラスメソッド・スタティックメソッド - PASL
  • Python のクラスシステム

    1. 初めに この文書の目的は、 Python で自前の class を作るとき、メソッドの第一引数がそのクラスのインスタンスそれ自身 (一般に self と書かれる) であることの理由を説明することです。 他の言語ではメソッドを定義するときに第一引数をインスタンスにするという方法は取り入れておらず、 this などの予約語を使ってインスタンスを表すのが一般的です。 Python だけが、独自の流儀をとっています。 しかし、このことを説明したサイトは見当たりませんでした。 どのサイトもそれは決まりごとだで済ませてしまっています。 しかし、それではどうも Python のクラスシステムを理解した気になれないので、Python でクラスシステムが どのように実装しているか推測しながら、例の self について説明したいと思います。 2. オブジェクト指向プログラミングの復習 オブジェクトとは、

  • 1