如何解决在python中动态创建类函数并设置其参数包括默认值
def generate_methods(self,*args):
def class_function(*args,**kws):
arguments = kws
arguments.pop('self')
func_name = sys._getframe().f_code.co_name.upper()
return self.request(
str({**{'type': func_name},**{str(key): str(value) for key,value in arguments.items()}}))
return class_function
# removes __init__ etc. functions
target_class_functions = [x for x in dir(self.target_class) if not x.startswith("_")]
for function in target_class_functions:
spec = inspect.getfullargspec(getattr(self.target_class,function))
if spec.defaults != None:
padded_defaults = (None,) * (len(spec.args) - len(spec.defaults)) + spec.defaults
params = dict(zip(spec.args,padded_defaults))
else:
params = spec.args
_method = class_function(*params)
setattr(self,function,_method)
非常感谢任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。