エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
時間城年代記:メタクラスで遊ぶ(3)
■__new__の啼く夜は恐ろしい…… つくづく私は、__new__組み込みメソッドとは相性が悪い。 先日、メタクラ... ■__new__の啼く夜は恐ろしい…… つくづく私は、__new__組み込みメソッドとは相性が悪い。 先日、メタクラスの記事の中で、とんでもない誤解コードがあり、コメントで指摘されたので、修正した。 しかしこの際ついでに、__new__メソッドについていろいろ確認しておくことにする。 まず__new__メソッドは『クラスメソッド』扱いである(@classmethonと書くアレ) 即ち、__new__メソッドの第一引数は、『インスタンス』ではなく『クラス』である。 よって、__new__に何も記述しなければ、デフォルトでは以下のような動作が行われている。 def __new__(cls, *args): ins = object.__new__(cls) # インスタンス生成 cls.__init__(ins, *args) # インスタンス初期化 return ins # 戻り値としてイン