在python中生成没有闭包的函数
发布时间:2020-09-18 13:13:38 所属栏目:Python 来源:互联网
导读:现在我正在使用闭包来生成像这个简化示例中的函数: def constant_function(constant): def dummyfunction(t): return constant return dummyfunction 然后将这些生成的函数传递给自定义类的init方法,该类将它们存储为实例属性.缺点是这使得类实例难以理解.所
|
现在我正在使用闭包来生成像这个简化示例中的函数: def constant_function(constant):
def dummyfunction(t):
return constant
return dummyfunction
然后将这些生成的函数传递给自定义类的init方法,该类将它们存储为实例属性.缺点是这使得类实例难以理解.所以我想知道是否有办法创建函数生成器来避免闭包. 解决方法你可以使用一个可调用的类:class ConstantFunction(object):
def __init__(self,constant):
self.constant = constant
def __call__(self,t):
return self.constant
def constant_function(constant):
return ConstantFunction(constant)
然后,函数的闭包状态将转移到实例属性. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – sqlalchemy将mixin列移动到最后
- python – django auth用户截断电子邮件字段
- 如何更好地光栅化绘图而不会模糊matplotlib中的标签?
- python – 如何使用扭曲的raw_input?
- python – 可扩展程序的良好设计模式
- python – 如何为金字塔安装新包而不获取pkg_resources.Dis
- python – cmd a在tkinter条目中不起作用
- 在django admin中为不是超级管理员的用户排除某个字段
- 在cygwin下,如何配置Mercurial以使用WinMerge进行合并?
- python – django:根据条件排除某些表单元素
