Jupyter的更懒的工作流
lazier的Python项目详细描述
更懒
lazier允许您在探索功能如何随输入而变化时更快地移动,这个模块之所以编写是因为我经常觉得在jupyter笔记本的交互环境中必须有一种更简单的工作方式。
下面是一个演示: 没有懒惰的人:
deffoo(a,b,c,d):print(a)print(b)print(c)print(d)
foo(a=1,b=2,c=3,d=4)
1
2
3
4
foo(d=2)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-9233fe4ac2c5> in <module>()
----> 1 foo(d=2)
TypeError: foo() missing 3 required positional arguments: 'a', 'b', and 'c'
懒惰的人:
fromlazierimportlazier
@lazierdeffoo(a,b,c,d):print(a)print(b)print(c)print(d)
foo(a=1,b=2,c=3,d=4)
1
2
3
4
现在假设您想看看在上面的函数调用中,如果d是7,那么函数的输出是如何变化的,而lazier看起来是这样的:
foo(d=7)
1
2
3
7
等等。
foo(a=9)
9
2
3
7
使用“重置”可以忘记它记住的所有过去值
foo.reset()
foo()
foo() missing 4 required positional arguments: 'a', 'b', 'c', and 'd'
foo(a=1,b=11,c=3)
foo() missing 1 required positional argument: 'd'
foo(d=9)
1
11
3
9