python - 每次我在 Python shell 中按回车键时如何运行一个函数

标签 python automated-tests read-eval-print-loop

我有时会在交互式 shell 中编写小函数。

它们很少第一次是正确的,所以我花了很多时间在同一个测试集上运行我的函数版本来验证正确性。

>>> def test_foo():
        print( foo(4) == 5 )
        print( foo(8) == 9 )
>>> def foo(x): return x + 1
>>> test_foo()
True
True

但是 foo 可能更复杂,我可能需要 5 次或更多次重写才能让它通过我的测试,因为手动运行套件很无聊,我需要这样的东西:

>>> def test_foo():
        print( foo(4) == 5 )
        print( foo(8) == 9 )
>>> :SET_ON_EXECUTION test_foo

现在每次我重写我的 foo 函数并将其发送到定义时,测试也会运行。

一些研究

  • Google 搜索没有提供有用的答案。
  • 在 shell 中 python -h 没有告诉我该怎么做。
  • 'ipython 中的 %quickref 也没有,`.

最佳答案

我强烈建议使用 Jupyter notebooks (以前称为 IPython)为此。它允许您创建一个包含代码的“单元格”,您可以使用 Ctrl-Enter 组合键重新执行这些代码。

例如,在您的情况下,您可以将函数定义和执行放在同一个单元格中,然后在您编辑时轻松地重新执行它。

Jupyter notebook interface

通过这种方式,您可以逐步构建代码,一次修复和开发一个函数。

因为您已经安装了 IPython,您应该能够启动并运行:

$ pip install jupyter
$ jupyter notebook

它将在您的浏览器中启动。通过单击右上角的“新建”并在“笔记本”下选择一个 Python 内核来创建一个新笔记本。

关于python - 每次我在 Python shell 中按回车键时如何运行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34873851/

相关文章:

python - 不区分大小写的正则表达式返回原始模式

使用通用函数的 Python numpy 网格转换

python - 如何使用一个键将多个列表值的数据框制作成python中的字典?

Android Studio - MonkeyTalk 集成 - 问题

lisp - Clisp REPL 错误输出 : how to find line number in file where error occurred?

c# - CSharpRepl emacs 集成?

python - 如何测试字符串包含列表中的元素并通过 Pandas 将目标元素分配给另一列

nginx - 测试 NGINX 配置

testing - 针对许多程序自动进行兼容性测试

emacs - 为交互式 Common Lisp 开发正确加载文件