プロパティ

Top / Coding / Python / 言語仕様 / プロパティ
 

ページ構成
−Top
  • −Coding
    • +.NET
    • +CUDA
    • +JavaScript
    • +MSOffice
    • +PHP
    • +PowerShell
    • −Python
      • +.NETとの比較
      • ・CloudVision
      • ・Excel
      • +GoogleAppEngine
      • ・Grumpy
      • ・PDFのハンドリング
      • +WebFramework
      • +Webスクレイピング
      • ・クリップボード
      • ・開発環境
      • −言語仕様
        • ・map_filter_reduce
        • ・イテレータ
        • ・クラス
        • ・プロパティ
        • ・内包表記
        • ・文字列の扱いに関する注意点
      • ・未読
    • +Ruby
    • +VBA
    • +misc
    • +画像処理
  • +Server
  • +memo
  • +misc
  • +カメラ
  • +科学技術
  • +記事
  • +数値解析
最新の10件
2018-01-16 更新
  • misc/Hardware/各種プロセッサの倍精度演算性能
2017-11-27 更新
  • Coding/misc/raspberrypi
2017-11-02 更新
  • Coding/.NET/NuGetパッケージの作成
2017-10-19 更新
  • Coding/MSOffice/VSTO/ThisAddin_Startupに処理を書く問題が起きる
2017-06-16 更新
  • Coding/.NET/VisualStudioビルドイベント
2017-05-28 更新
  • misc/Hardware/タブレット向けCPU/複製
2017-05-25 更新
  • Coding/Python/CloudVision
2017-05-24 更新
  • misc/ロードバイク/サイクルロード/奈良
2017-05-11 更新
  • misc/ソフトウェア/文章/文章校正、作成支援ツール
2017-03-15 更新
  • misc/ソフトウェア/プロジェクト管理ツール

Powered By

b_pukiwiki.official.png

edit

概要 †

Pythonのプロパティについて

↑

手軽な実装方法 †

@propertyデコレータをつける。
この場合、読み取り専用のプロパティになる。

    class hogehoge(object):
         def __init__(self):
              self._x = "****"

         @property
         def x(self):
             return self._x

さらに、@***.setterデコレータをつけると
書き込みが可能なプロパティになる。

    class hogehoge(object):
         def __init__(self):
              self._x = "****"

         @property
         def x(self):
             return self._x

         @x.setter
         def x(self, v):
             self._x = v
↑

簡単な解説 †

Pythonのインタプリタの動作としては、

classHogeHoge.x = v

が呼ばれた場合、classHogeHogeの _set_x(v)が呼び出される。

z = classHogeHoge.x

が呼ばれると、classHogeHogeの _get_x()が呼び出される。

クラス内部の実装(仮)

def classHogeHoge(object):
    def __init(self):
       self._x = 0
 
    def _set_x(self, v):
       self._x = v
 
    def _get_x(self):
      return self._x
↑

参考 †

  • propertyについて - podhmoの日記
  • Python の property 関数 (デコレータ) でプロパティへのアクセサを作る | CUBE SUGAR STORAGE
  • Pythonの技法:プロパティによるアクセサの実装 - page2 - builder by ZDNet Japan
  • Pythonの技法:プロパティによるアクセサの実装 - builder by ZDNet Japan

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索   ヘルプ   最終更新のRSS
Last-modified: 2015-10-23 (金) (1511d)
Site admin: D*isuke YAMAKAWA

PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.3.29. HTML convert time: 0.010 sec.