リストに基づいてクラスにメソッドを追加しようとしています。
class _Roles(object):
"""
set the roles for dev, staging and production
"""
def __init__(self):
from types import MethodType
steps = ['dev','stage','prod']
for step in steps:
def env_setter(self):
print step
method = MethodType(env_setter,self,self.__class__)
setattr(self,step,method)
問題は、、、、またはを呼び出す_Roles.dev()と、dev forなどを取得する代わりに、prodである最後のステップが常に出力されることです。これの理由は何ですか?_Roles.stage()_Roles.prod()dev()