タグ

__new__に関するishideoのブックマーク (2)

  • Python の __new__ ってなに? | 民主主義に乾杯

    # 2. __new__ は、いつ使うの? 答え: immutable を初期化したい(稿で解説) singleton を実装したい(Python でシングルトンを書く) (opens new window) 引数をもとにクラスを切り替えたいとき(メタクラスで紹介) この記事では immutable なオブジェクトを初期化する際に __new__ の使い方について説明させていただきます。 immutable については以下の記事で説明させていただきました。 Python の immutable と mutable の違い 実際に immutable なクラスを定義したいときは namedtuple (opens new window) 関数を使います。 このページでは tuple を継承した immutable なクラスで __new__ の簡単な使い方をご紹介します。 namedtup

  • __new__と__init__とメタクラスと - Qiita

    (2016/10/04追記) 以下はPython3.5で確認。Python2.xではsuperを引数なしで呼べないためそのままでは実行できず、かつ実行結果も同等のものになるかは不明。 __new__と__init__ Pythonでは、__new__メソッド、__init__メソッドの2つのメソッドを実装したクラスを生成することで、そのクラスのインスタンス作成時に行う処理を定義することができる。 class A(object): def __new__(cls): print('new') return super().__new__(cls) def __init__(self): print('init') super().__init__() >>> A() new init <__main__.A object at 0x10da40050> 上記の例を見るに、__new__と__

    __new__と__init__とメタクラスと - Qiita
  • 1