通过部分应用运算符生成匿名函数的简单方法。

whatever的Python项目详细描述


一种通过部分应用python操作符制作lambdas的简单方法。

灵感来自Perl6 One,请参见http://perlcabal.org/syn/S02.html#The_Whatever_Object

用法

fromwhateverimport_,that# get a list of guys namesnames=map(_.name,guys)names=map(that.name,guys)odd=map(_*2+1,range(10))squares=map(_**2,range(100))small_squares=filter(_<100,squares)best=max(tries,key=_.score)sort(guys,key=-that.height)factorial=lambdan:reduce(_*_,range(2,n+1))

注意:不能实现链式比较,因为python中没有布尔重载。

注意事项

在某些特殊情况下,任何可能导致混淆的东西:

_.attr# this makes callableobj._# this fetches '_' attribute of obj_[key]# this works tood[_]# KeyError, most probably_._# short for attrgetter('_')_[_]# short for lambda d, k: d[k]if_=='Any value':# You will get here, definitely# `_ == something` produces callable, which is true[1,2,_*2,None].index('hi')# => 2, since bool(_ * 2 == 'hi') is True

此外,无论有时在后期绑定时失败:

(_*2)('2')# -> NotImplemented

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

推荐PyPI第三方库


热门话题
java为什么活动性/就绪性探测失败?   安卓上的java缩放图像   java如何切换一个类或改进它   java如何使用BouncyCastle lightwigth API生成cms封装数据   java如何构建pom。从github下载的maven项目中的xml?   java如何在允许扩展的同时,将具有不同字段计数的分隔文本行解析到对象中?   连接到网站jsoup项目中的java错误(类型jsoup的方法connect(字符串)未定义)   反射获取java。调用方法时发生lang.NullPointerException。援引   带有构造函数参数的java Spring自动关联依赖项   java Android:使用双数组时如何识别按钮?   java Maven无法获取可执行jar:无法加载主类   java SonarQube问题:重命名此常量名称以匹配正则表达式“^[AZ][AZ09]([AZ09]+)$”   java如何将Jbutton从另一个类添加到主类   java当我在排序后尝试在数组中插入值时,得到的默认值为0   java,try块在操作来自try作用域上方作用域的变量时产生错误   java如何用easy mock模拟消费者链接?