python的数据流库

dataflow的Python项目详细描述


http://gfxmonk.net/dist/status/project/py-dataflow.png

数据流.py

py是larrytheliquid的ruby dataflow gem的一个实验端口,主要用于查看python版本(没有块)是否可用。原来是的,这不是我最初期望的。我不是真的在做什么(或者正在做),但希望它能对其他人有用或者有兴趣。

数据流函数:

  • dataflow_vars: decorator for generating dataflow variables for a function
  • spawn(callable, *args): start a thread using the given callable, plus any additional arguments
  • var(name=None): create a new dataflow variable (with optional name)
  • unify(var, value): set the value of a dataflow variable.

数据流可以自动提供参数:

@dataflow_vars
def sum_items(x, y, z):
        # notice how the order automatically gets resolved
        spawn(lambda: unify(y, x() + 2))
        spawn(lambda: unify(z, y() + 3))
        spawn(lambda: unify(x, 1))
        return z() # => 6

或者您可以随时创建它们:

f = var()
spawn(lambda: unify(f, 'f'))
f() # => 6

访问数据流变量的任何属性或项(字典键)会自动等待分配,并将该访问权传递到其值:

f = var()
spawn(lambda: unify(f, {'key': 'val'})
f['key'] # => 'val'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我们不能将ArrayList<Integer>传递给具有(Integer…)的方法参数   java Spring RestTemplate映射JSON对映射的响应引发不匹配的PutException   在系统中找到java Selenium元素,但在Jenkins中未找到   java在Android中使用JavaMail API发送电子邮件,而不使用默认/内置应用程序   数组如何在Java数据结构中同时存储数字和相应的单词?   为什么“+”运算符未定义?JAVA   java如何在游戏中添加高分系统?   java在球门碰撞中区分球和球员   java如何使用SpringSecurity4.0.1使用Auth令牌实现Rest完整Web服务。释放   java如何解决这个错误:Android资源链接失败?   java多线程文件处理和数据库批插入   导致Tomcat失败的java无用块线程   java主线程做了太多的工作,尽管我使用了异步线程(laggy UI)   在Java FX 2.0中滚动锚定节点时,锚定始终可见?   java使用EJB3中的客户机jar和设计模式