python中的函数式编程有所有的副作用。

poser的Python项目详细描述



"composites"组成复杂函数

"composites"是python中的非类型化函数编程对象,具有所有副作用。`复合"使组合/管道/链可调用函数、类和其他对象更容易组合成高阶函数。

pip install git+https://github.com/tonyfast/composites

le, __enumerate__ a __range__ and create a __dict__ionary.

f = the[range][reversed][enumerate][dict]
f(3), f
---





({0: 2, 1: 1, 2: 0}, <composites.Function at 0x10e0eba68>)




Each <b><code>[bracket]</code></b> may accept a __callable__ or __可接受的。在这两种情况下,
可调用的附加到组合中。成分是不可变的,而且可能具有
任意复杂度。



g=f.copy();从上面复制f,这样它就保持不变。
g[type,len]
g[{'f o o':a.do(prinprint.len(),'bar':the.identity()}



























是的对象。

























(<;composites.function at 0x10eNeed68>;、
<;composites.function at 0x10e12d048>;、
><;composites.function at 0x10e12d108>;、
><;composites.function at 0x10e12de12d1c1c8,
<;composites.function at 0x10e12de12de12d1c)





每个组合都是不可变的。


assert f[len]是f;f







<;composites.function at 0x10e0eba68>;





属性可以以浅显或详细的方式访问。













/>断言一个%range==a.reduce(range)



>将项目getter、属性、符号和其他组合组合组合起来来表达复杂的思想。



f=a['test',5,{42}]
(a**str&;[str.upper,str.cap大写];a**int&a.range().map(
a.range(2.len()
)a.range==a.range(2.len()
)a.list();a**object object object list();a**object object object&;类型)\
*
f




使用"composites"编程?

[函数式编程](https://en.wikipedia.org/wiki/functional_programming)通常生成较少的代码或文本来表示复杂数据结构上的操作。声明式的、函数式的编程方法掩盖了python的命令式、面向对象(oo)特性。python提供了关键的[函数式编程元素](https://docs.python.org/3/library/functional.html),可与oo代码互换使用。

[`toolz`](https://toolz.readthedocs.io)是'composites'的核心,它用一组
非类型化、惰性、纯和可组合的函数扩展了python的函数编程。"toolz"中的函数对于[(https://tomaugspurger.github.io/method-chaining.html)方法,或者javascript中的[(http://underlinejs.org/)和[(https://d3js.org/)方法,看起来都很熟悉。

[`toolz`](https://toolz.readthedocs.io)的中间用户将使用
[`toolz.pipe`](https://toolz.readthedocs.ioen/latest/api.html\toolz.functoolz.pipe),
[`toolz.juxt`](https://toolz.readthedocs.ioen/latest/api.html\toolz.functoolz.juxt)、
和[`toolz.compose`](https://toolz.readthedocs.ioen/latest/api.html toolz.functoolz.compose)创建可重用的,
高阶函数。这些模式允许程序员在较长时间内用较少的输入/文本来表达复杂的概念。重复模式应该占用更少的屏幕空间;composites;有助于用更少的文本编写函数。

"composites"的一个成功实现应该包含非类型的、懒惰的和可序列化的python函数,这些函数允许递归。[数据模型](https://docs.python.org/3/reference/data model.html)中的ODS。它考虑了api设计中python的
[操作顺序](https://docs.python.org/3/reference/expressions.html operator precedence)。` composites为常见的高阶函数操作(如map、filter、groupby和reduce)提供符号表达式。属性可以通过制表符完成对任何"sys.modules;"的访问。

计算效率将继续提高。在现代协同开发环境中,我们必须考虑程序员的效率。编程是一个重复的过程,需要人做体力劳动。
u composites加快了重复性和复杂任务的创建和读取。




[](classes_composites.min.png)



jupyter nbconvert--to markdown--templateexporter.exclude_input=true readme.ipynb
!jupyter nbconvert——降价——执行composites.ipynb
!python-m doctest composites.py
!echo complete


[nbconvertapp]正在将笔记本readme.ipynb转换为markdown
[nbconvertapp]正在将5152字节写入readme.md





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

推荐PyPI第三方库


热门话题
java错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退