带有占位符表示法和代码生成的隐式lambda

blackhc.implicit-lambda的Python项目详细描述


#隐式lambdas

[![构建状态](https://www.travis-ci.com/blackhc/implicit_lambda.svg?branch=master)(https://www.travis-ci.com/blackhc/implicit_lambda)[![codecov](https://codecov.io/gh/blackhc/implicit_lambda/branch/master/graph/badge.svg)(https://codecov.io/gh/blackhc/implicit_lambda)[![PYPI](https://img.shields.io/badge/pypi blackhc.implicit戋lambda-blue.svg)(https://pypi.python.org/pypi/blackhc.implicit戋lambda/)

此包添加了对隐式lambda的支持,因此您可以编写"map(戋+5,a戋list)",而不是"map(lambda x:x+5,a戋list)"。

3.7简洁的特点。这个包可以很容易地与早期版本一起使用。如果需要,请提交问题。


隐式lambda是使用代码生成实现的。当运行带有"-o"的python以启用优化时,它们的速度与常规lambda一样快。

```
——ps/s)
------------------------------------------------------------
测试正常λ196.3468(1.01)140.7775(2.32)166.9600(1.0)5.0930(0.99)
测试λ196.6705(1.01)113.9049(1.88)171.6000(1.03)5.0846(0.99)
测试操作链195.0673(1.0)60.6268(1.0)176.2300(1.06)5.1264(1.0)
——`普通lambda使用普通lambda。`操作链使用functools.partial和operator模块。

遗产。(动态创建一个新类型来保存表达式,使用自定义的"调用"解析调用就足以招致这样的惩罚。)

`(使用"getitem",成员访问(使用"getattribute",成员访问)和任何调用(调用)。这会带来很大的灵活性。

要消除lambda内的调用和调用lambda之间的歧义,隐式lambda必须显式转换为可调用/规则的python lambda。

`to_lambda`将隐式lambda表达式转换为python lambda。

`auto_lambda `将对隐式lambda的支持添加到接受可调用的现有函数中。

```

要运行测试,请使用:

````
python setup.py test
````

`其他的助手函数不需要调用。

`` python
来自blackhc.implicit_lambda import_x,y,to_lambda
来自blackhc.implicit_lambda.builtins import map
````

implicit lambda为所有常见的内置提供包装器。

`` python
a_list=list(range(10))


````

包装函数提供了一个可以在隐式lambda中使用的`.`version。

``python
mapper=到lambda(map.`ux+2,````mapper

mapped\=mapper(a_list)

assert list(mapped_list)=list(range(2,12))
``````

implicit lambdas支持嵌套表达式

```python
mapped_list=map(((<;<;3)*3-23*\2,a_list)

assert list(mapped_list)=list(range(2,12))
````



在调试模式下(运行python时不要使用`-o`):

```python
>或:


``python
assert(repr(((<;lt;lt;3)*3-23*2)=
"<;lambdadadsl:lambda x:(((((x<;lt;3)*3)-(23*x))+2)@{}>;)"
``````

```````````````python

````python
``````python
assert到lambda(x*y)(5,3)==15=5,3)==15;
是的
```

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

推荐PyPI第三方库


热门话题
java Grid loadmask(true)在gxt中不起作用   java将字符串索引转换为整数   为什么Java泛型适用于基元数组,但不适用于基元数组?   java如何让Azure应用程序服务Tomcat将所有80/443流量转发到运行在同一应用程序服务上的JBoss   具有多个值的java转换映射到树?   java如何设置SQL server连接URL?   java设置了多个相互独立的JFrame   安全性在JAVA中如何使用RSAPrivateKey的密码短语?   java不能使用比Apache Velocity中更大的条件   如何在Java中打印字符串的所有排列   停止Android Studio自动导入java。sql。日期   对象简单计算器程序java   java如何在安卓中使用“&”符号作为字符串?   java Connect,为我的安卓应用程序从REST API发布和获取数据