__init__
クラスメソッドにたくさんのメソッドを動的に作成したいと思います。Haventはこれまで運が良かった。
コード:
class Clas(object):
def __init__(self):
for i in ['hello', 'world', 'app']:
def method():
print i
setattr(self, i, method)
私よりも、リストに最も適したメソッドを作成してメソッドを呼び出します。
>> instance = Clas()
>> instance.hello()
'app'
印刷しhello
ないと思いapp
ます。何が問題ですか?さらに、これらの動的に割り当てられたメソッドのそれぞれは、たとえ私が行ったとしても、メモリ内の同じ関数を参照していましたcopy.copy(method)