将函数绑定到仅在特定范围内运行一次。
项目描述
将函数绑定到仅在特定范围内运行一次。
文档
Rig类公开了两个方法: bind 和 free。Bind接受一个参数:绑定函数的作用域名称。
使用bind包装的函数将仅在作用域释放之前被调用一次。
使用free包装的函数将在函数执行后释放特定作用域中的所有绑定函数。
示例
import shibari
rig = shibari.Rig('ebi')
@rig.bind('ebi')
def timestamp():
return str(time.time())
@rig.free('ebi')
def finish():
pass
>>> t = timestamp()
>>> t2 = timestamp()
>>> assert t == t2
>>> finish()
>>> t3 = timestamp()
>>> t4 == timestamp()
>>> assert t != t3
>>> assert t3 == t4
可以绑定接受参数的函数,但它们将在释放之前始终返回相同的结果。
示例
import shibari
rig = shibari.Rig('ebi')
@rig.bind('ebi')
def timestamp(a, b):
return f'{a}_{str(time.time())}_{b}'
>>> t = timestamp('goodbye', 'world')
>>> t2 = timestamp('hello', 'space')
>>> assert t == t2
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
shibari-0.0.2.tar.gz (2.4 kB 查看散列)
构建分发
shibari-0.0.2-py3-none-any.whl (4.0 kB 查看散列)