跳转到主要内容

将函数绑定到仅在特定范围内运行一次。

项目描述

PyPI PyPI - Python Version GitHub https://travis-ci.org/jsfehler/stere.svg?branch=master

将函数绑定到仅在特定范围内运行一次。

文档

Rig类公开了两个方法: bindfree。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 查看散列)

上传于 Python 3

由以下机构支持