事情进展顺利。事情变得很紧张。一切都结束了。

knife的Python项目详细描述


刀是一种功能强大的多刀具 灵感来源于Underscore.js 但重新混合为最大pythonicity

集中通常分散在整个 python宇宙在一个方便的收缩包装包。

生命体征

刀子与cpython 2.6,2.7,3.1一起工作。3.2和1.8。

文档位于http://readthedocs.org/docs/knife/en/latest/http://packages.python.org/knife/

安装

pip…:

$ pip install knife
[... possibly exciting stuff happening ...]
Successfully installed knife

…或easy_install…:

$ easy_install knife
[... possibly exciting stuff happening ...]
Finished processing dependencies for knife

…或者通过从http://pypi.python.org/pypi/knife/

下载刀子来实现旧式教学
$ python setup.py install
[... possibly exciting stuff happening ...]
Finished processing dependencies for knife

3秒

事情进展:

>>> from knife import __
>>> gauntlet = __(5, 4, 3, 2, 1)

事情变得棘手:

>>> gauntlet.initial().rest().slice(1, 2).last()
knife.lazy.lazyknife ([IN: ([3]) => WORK: ([]) => HOLD: ([]) => OUT: ([3])])

结果是:

>>> gauntlet.get()
3

稍微多点

刀子有40多种方法可以进入管道

捏造的例子:

>>> __(5, 4, 3, 2, 1).initial().rest().slice(1, 2).last().get()
3

…或使用面向对象的样式

捏造的例子:

>>> from knife import knife
>>> oo = knife(5, 4, 3, 2, 1)
>>> oo.initial()
knife.active.activeknife ([IN: ([5, 4, 3, 2, 1]) => WORK: ([]) => HOLD: ([]) => OUT: ([5, 4, 3, 2])])
>>> oo.rest()
knife.active.activeknife ([IN: ([5, 4, 3, 2]) => WORK: ([]) => HOLD: ([]) => OUT: ([4, 3, 2])])
>>> oo.slice(1, 2)
knife.active.activeknife ([IN: ([4, 3, 2]) => WORK: ([]) => HOLD: ([]) => OUT: ([3])])
>>> oo.last()
knife.active.activeknife ([IN: ([3]) => WORK: ([]) => HOLD: ([]) => OUT: ([3])])
>>> oo.get()
3

对象可以将其当前状态回滚到以前的状态 类似于前一个操作的快照、基线快照,甚至 原始参数的快照。

捏造的例子:

>>> undone = __(1, 2, 3).prepend(1, 2, 3, 4, 5, 6)
>>> undone.peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3]
>>> undone.append(1).undo().peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3]
>>> undone.append(1).append(2).undo(2).peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3]
>>> undone.snapshot().append(1).append(2).baseline().peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3]
>>> undone.original().peek()
[1, 2, 3]

对象有两种类型:活动懒惰active.knife对象评估调用 方法使用调用同一方法 lazy.knife对象只在迭代时产生结果 或者调用knife.lazy.lazyknife.get来获得结果。

刀.lazy.lazy knife将所有方法合并到一个类中:

>>> from knife import lazyknife

它可以在其dunderscore刀./cite>)别名下导入。

>>> from knife import __

刀.active.active刀还将每个方法组合在一起 组合刀

>>> from knife import activeknife

它可以通过它的刀子导入。刀子别名:

>>> from knife import knife

方法可用于与组相关的更集中的类中 方法在一起这些类也可以链接到管道中

捏造的例子:

>>> from knife.active import mathknife, reduceknife
>>> one = mathknife(10, 5, 100, 2, 1000)
>>> two = reduceknife()
>>> one.minmax().pipe(two).merge().back().min().get()
2
>>> one.original().minmax().pipe(two).merge().back().max().get()
1000
>>> one.original().minmax().pipe(two).merge().back().sum().get()
1002

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

推荐PyPI第三方库


热门话题
java如何让用户决定按钮的特定颜色   java Tomcat jdbc连接池,使用后不释放连接   Java泛型类可分配性   javaactivemq&如何在路由路径中创建依赖关系   java为什么没有接收到操作用户?   windows如何启动使用cmd中预编译DLL的java swing应用程序?   java JFreechart实时组合图,在未收到数据点的情况下呈现step子图表的上一个值   java排序自定义数组列表   java如何从HSLFSlideShow获取文本格式信息   java不能将片段和活动登录结合起来   java是下载位于远程存储服务中的文件的有效方法   java AS:将点数交给GameOverActivity   java如何在textView中将焦点放在新生成文本的顶部?   HashMap中特定于Java存储的类类型   java使用不同的变量类型进行计算   if语句中的Java poll()   检查匹配括号的java字符堆栈没有错误,但也没有任何作用   java Netbeans不断将应用程序部署到错误的服务器