タグ

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

タグの絞り込みを解除

pythonとclassに関するpeketaminのブックマーク (2)

  • Pythonでクラスを動的にインポートしてインスタンスを作りたかった - やつらかやつらだ

    指定したクラスのインスタンスを動的に作りたい場合は__import__()を使えばできるんだそうです。→http://www.python.jp/doc/release/library/functions.html#__import__ インポートした結果帰ってくるのはクラスオブジェクトなので、インスタンス化する必要があるのでワンクッション置く感じ。 前提 classesディレクトリにclass1.pyとclass2.pyがある それぞれClass1、Class2クラスを持っていてfoo()、bar()メソッドをそれぞれ持っている コード 通常のインポートとインスタンス生成のおさらい from classes.class1 import Class1 klass1 = Class1() print klass1.foo() print(repr(klass1)) # >foo # ><cl

    Pythonでクラスを動的にインポートしてインスタンスを作りたかった - やつらかやつらだ
  • Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って

    1. メソッドをクラスメソッドにするときは、デコレータを使う あるメソッドをクラスメソッドにするとき、 Python ではデコレータを使うことができる。 2.1 組み込み関数 によると、(太字は引用者による) classmethod( function) function のクラスメソッドを返します。 クラスメソッドは、インスタンスメソッドが暗黙の第一引数としてインスタンスをとるように、第一引数としてクラスをとります。クラスメソッドを宣言するには、以下の書きならわしを使います: class C: @classmethod def f(cls, arg1, arg2, ...): ... ふーむ、ここでも第一引数が必須で、それがクラスを参照するということか。Python のこういう書き方は、最初とっつきにくいと感じた。 (+_+) デコレータの書き方としては、関数の前に @classmeth

    Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って
  • 1