快速高效的lambda函数。

fz的Python项目详细描述


快速高效的lambda函数。

什么是fz

fz为python 3定义lambda函数提供了更好的方法。语法 受Python的C++^ {Tt3} $、Scala lambdas和quicklambda启发。

语法

fzlambdas使用占位符对象来表示新的 拉姆达占位符看起来像:_1_2,…,一直到_255 (函数的位置参数的最大数目)。

要创建lambda,只需使用以下占位符构建一个表达式 你想让争论消失。

示例使用

简单算法

许多lambda只是简单的算术。例如:

>>>fromfzimport_1>>>f=_1+1>>>f(1)2>>>f(3)4>>>(_1*2)(3)6>>>(_1**2)(3)9>>>list(map(_1**2,range(5)))[0,1,4,9,16]

属性和项目访问

>>> from fz import _1

>>> _1[0]([1, 2])
1
>>> list(map(_1[1], [(0, 1), (2, 3), (4, 5)]))
[1, 3, 5]
>>> _1.imag(1j)
1.0
>>> list(map(_1.imag, (1j, 1 + 2j, 2 + 3j)))
[1, 2, 3]

函数调用

因为我们只能自顶向下包装,所以必须显式包装函数 被推迟。

>>>fromfzimport_f,_1,_2,_3>>>deff(a,b):...returna+b>>>_f(f)(_1,_2)(1,2)3>>>g=_f(f)(_1,-1)>>>g(1)0>>>flip=_f(_1)(_3,_2)>>>flip(print,1,2)21

支持的操作

  • 二进制运算符
  • 一元运算符
  • 属性访问(有些名称用于实现)
  • 下标(项目访问)
  • iter
  • next
  • abs

许可证

fz是免费软件,由GNU General Public授权 许可证,版本2。有关详细信息,请参阅LICENSE文件。

来源

源代码托管在github上的https://github.com/llllllllll/fz

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

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹