快速高效的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第三方库


热门话题
java如何在没有代码气味的情况下编写遵循Liskov替代和其他可靠原则的不可变映射?   java最新jre上的压缩字符串对旧编译代码有好处吗?   java是否可以在javascript中取消PrimeFaces menuitem onclick函数   mysql从SQL数据库中访问java中xml名称空间标记的值   从java程序打开excel文件   java在方法中使用“var”是否会使执行(并发)线程不安全?   java使搜索视图以一种关于AndroidManifest的通用方式可用。xml   java对如何准确使用正则表达式感到困惑?   mule如何访问java文件中的记录变量   java在从2D数组引发异常后继续   枚举当前设置为的java值   java当listview只有几个项目时,如何使alert对话框显示listview的所有项目?   java getTableRow()返回大于项大小的索引   c用java传输二进制文件(数据)   java更改多选列表项复选框颜色