SUPPORT UKRAINE
- Your indifference to the act of cruelty can thrive rogue nations like Russia -
タグ
descriptor
を含むブログ一覧
1
【 Effective Python, 2nd Edition 】__set_name__ デスクリプタ専用特殊関数 ( special method for descriptor ) を利用してデスクリプタインスタンスを割り当てたクラス変数名を取得し、コードの冗長性を排除しよう!
Published 2020年7月28日21:30 by mootaro23
メタクラス ( metaclass ) を利用することで、クラスの「型」が完全に作られる前にクラス属性を操作することができます。
さらに、デスクリプタ ( descriptor ) を利用すると、デスクリプタインスタンスを含むクラスとその属性のよりきめ細かい操作が可能になるんです。
例えば、顧客データベースの各フィールドに相当するクラスを作成するとします。
今回は、…
【Python 雑談・雑学】デスクリプタ ( descriptor ) をしっかりと理解しよう!
Published 2020年7月27日21:34 by mootaro23
次のプログラムを実行した際に4つの print 文で出力されるそれぞれの内容が分かりますか?
class Field:
def __init__(self, name):
self.name = name
self.internal_name = '_' + self.name
def __get__(self, instance, …
【 Effective Python, 2nd Edition 】__getattr__、__getattribute__、__setattr__ メソッドを利用して、事前に定義していないインスタンス属性を操作しよう!
Published 2020年7月18日11:07 by mootaro23
データベースのレコードに対応する Python クラスを考えます。
このとき、クラスの各属性はレコードの各フィールドに対応していますね。
つまり、前もって対象とするテーブルの構造が分かっていなければそれに対応するクラスなんか作れないよ、ということです。
ところが Python では「えっ、前もって分からないの?それじゃしょうがないからとにかく始めちゃって分かったら追…
【 Effective Python, 2nd Edition 】デスクリプタ ( descriptor ) を利用して @property で行っていた属性値への操作を再利用できるようにしよう!
Published 2020年7月16日21:55 by mootaro23
@property は属性値のちょっとした操作、変更に非常に便利ですが、最大の問題点は再利用性です。
当然ながら @property のメソッドの対象はクラス内のただ1つの属性であって、複数の属性に同じ操作を適用することはできませんし、ましてや、異なるクラスで再利用することなどできません。
例えば、生徒が宿題の自主採点をして提出するためのクラスを作成し、入力された点数が 0 …
1