热函数发生器

fnn的Python项目详细描述


https://travis-ci.org/cpdean/fnny.svg?branch=master

带有一些帮助函数的库,可以为您生成更多函数。

查看

用拨片做拨片机:

from fnny import pluck as p
from collections import namedtuple
G = namedtuple("G", ["a"])
guys = [G(i) for i in range(10)]
expected = sum(map(lambda x: x.a, guys))
actual = sum(map(p.a, guys))
assert expected == actual

使用方法调用方法:

from fnny import method as m
from test.test_it import _Argless()
no_args = [_Argless() for a in range(10)]
expected = list(map(lambda x: x.wow(), no_args))
actual = list(map(m.wow, no_args))
assert expected == actual

使用部分应用的方法,部分:

from fnny import partial as pa
from test.test_it import _OneArg()
has_args = [_OneArg() for a in range(10)]
expected = list(map(lambda x: x.add(1), has_args))
actual = list(map(pa.add(1), has_args))
assert expected == actual

部分偶数支持千瓦数:

from test.test_it import _OneKwarg()
has_args = [_OneKwarg() for a in range(10)]
expected = list(map(lambda x: x.derp(something="heyy"), has_args))
actual = list(map(pa.derp(something="heyy"), has_args))
assert expected == actual

但实际上,python已经有了一种更习惯的方法来完成以上所有工作:

guys = [G(i) for i in range(10)]
assert sum(map(lambda x: x.a, guys)) == sum(g.a for g in guys)

no_args = [_Argless() for a in range(10)]
expected = list(map(lambda x: x.wow(), no_args))
actual = [argless.wow() for argless in no_args]
assert expected == actual

has_args = [_OneArg() for a in range(10)]
expected = list(map(lambda x: x.add(1), has_args))
actual = [one.add(1) for one in has_args]
assert expected == actual

has_kwargs = [_OneKwarg() for a in range(10)]
expected = list(map(lambda x: x.derp(something="heyy"), has_kwargs))
actual = [kw.derp(something="heyy") for kw in has_kwargs]
assert expected == actual

但也许还有一个地方可以用来生成基于描述器的函数库。

我想一想到这些我就会加上例子。

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

推荐PyPI第三方库


热门话题
选项卡内的java 安卓工具栏   java接口VS API VS公共类   无法解析java。lang.ClassNotFoundException:在安卓 studio中找不到类“com.example.安卓.camera2basic.AutoFitTextureView”?   java等待线程正常完成   java在JTable中的prepareRenderer方法中编辑单元格数据是否可行?   java SessionNotCreatedException selenium webdriver   java Android Studio Gradle CreateProcess错误=2   java找不到适用于异常(int)的构造函数   javascript如何在不使用正则表达式的情况下检查输入是否为表情符号?   从JAVA运行ant时,JAVA_HOME变量不正确   long的java min值引发异常   java如何在这段代码中实现侦听器?   带有透明文本的java Android按钮   图像Java扫描仪问题(JFrame)   java模拟输入蒸汽似乎在Junit测试的第一次输入中就被吃掉了   压缩Java Deflater,现在和将来的结果相同(确定性)   java JTable getModel()。setValueAt从数组中删除第一个元素   java我有不同于编译器和计算器的价值   使用C#客户端调用基本身份验证java webservice   java相同类型的多个@Embedded字段在持久化后始终为空