将CodeLab Adapter用作Python解释器
文章目录
everything is a message; message is everything
说明
这是之前的文章,更新以匹配 CodeLab Adapter 3.0
Python插件
CodeLab Adapter 3.0内置extension_python.py插件, 使用文档在此。
同时插件市场中有功能更强大的python_exec插件。用户可以自行下载。
extension_python.py插件用以支持以下使用场景:
- 将 CodeLab Adapter 用作 Python 解释器,解释运行网页发送过来的 Python 代码
- 在 Scratch3.0 中构建 Python REPL
- 以简易的方式粘合 Python 和 Scratch3.0
- …
将 CodeLab Adapter 用作 Python 解释器
第一个使用场景: 将 CodeLab Adapter 用作 Python 解释器,可以运行网页发送过来的 Python 代码
通过这个插件,允许在前端构建编辑器,而将 CodeLab Adapter 用作实际运行代码的后端,前端拿到代码执行结果,或者错误信息(stdout/stderr)。这和jupyter的架构很相似,我之前写过几篇分析 jupyter 架构的文章,jupyter 是 CodeLab Adapter 的灵感来源之一。
如此一来,为了教学 Python,就不必使用 javascript 实现的 Python 解释器了。不再需要烦心不同解释器之间的差异。学习者也不会为此困惑。更重要的是,得到了一个完全真实的 Python 解释器,它可以与网络交互,可以与文件系统交互!你在网页里写的 Python 代码可以做到任何事!喜欢requests
库?尽情使用它吧,在下个发行版中,我们将在 CodeLab Adapter 内置常用的 Python 库!
在 Scratch 中构建 Python REPL
下边来做一件有趣的事,借助 extension_python.py
, 搭配 CodeLab 的 scratch3.0 EIM extension,只需 9 块积木,就可以在在 scratch 3.0 中构建一个 python REPL!
我们创建了一个列表用来容纳输出,这是个非常理想的容器!
使用询问积木
作为代码的输入框。
我们来实际测试一下
如果你想运行任何 Python 代码,请使用:python_exec
CodeLab Adapter 可以支持其他编程平台吗?
如果你希望将 CodeLab Adapter 用作你自己的编程平台(无论是 scratch3 还是 blockly)的 Python 解释器。参考CodeLab Adapter 可以支持其他编程平台吗?
文章作者 种瓜
上次更新 2020-04-24