{"version":3,"file":"6.C6qk_v_q.mjs","sources":["../../../../../../README.md?raw","../../../../../../src/routes/(notebook)/about/+page.svelte"],"sourcesContent":["export default \"# 这是什么？\\n\\nPythonline 是一个原生运行于浏览器中的 Python 解释器，所有代码都在本地运行，而不是任何服务器上。这是基于 [一个编译成 WASM 的 CPython](https://github.com/pyodide/pyodide) 实现的。\\n\\n通过本平台你可以与他人分享你的 Python 代码片段，而他们无需在本地机器上安装 Python。你甚至也可以在手机或平板上运行 Python 代码，而无需安装任何应用程序。以 `math` 模块为例：\\n\\n```python\\n>>> import math\\n>>> math.pi\\n```\\n\\n如果你将鼠标悬停在上面的代码块上，会看到一个按钮可以运行代码。点击之后，试试看将鼠标悬浮在下面的行内代码上 👇\\n\\n| 类型     | 示例                                          |\\n| -------- | --------------------------------------------- |\\n| 全局变量 | `_` `__name__` `int` `Exception`              |\\n| 字面量   | `[{}]` `1,2` `1+2j` `.0` `0b10`               |\\n| 表达式   | `math.pi / 2`                                 |\\n| 赋值语句 | `one = -(math.e ** complex(0, math.pi)).real` |\\n\\n## 特性简介\\n\\n我们支持一些类似 IPython 的特性，比如你可以直接 await 异步函数：\\n\\n```python\\nfrom asyncio import sleep\\n\\nfor i in range(10):\\n    print(i, end=\\\" \\\")\\n    await sleep(0.1)\\n```\\n\\n再比如原生的报错，但又能显示源码信息：\\n\\n```python\\ndef reciprocal(x: int):\\n    return 1 / x\\n\\n1 + reciprocal(0)\\n```\\n\\n## 可用的模块\\n\\n我们支持所有 Pyodide 支持的库。包括 [绝大多数 Python 标准库](https://pyodide.org/en/stable/usage/wasm-constraints.html)、所有纯 Python 包、以及 [其它适配了 Pyodide 的库](https://pyodide.org/en/stable/usage/packages-in-pyodide.html)，如常见的科学计算库 NumPy、Pandas 和机器学习库 SciPy、SciKit-Learn 等。\\n\\n此外，你可以使用浏览器 JavaScript 下的全局变量，比如下面这个例子，通过 `navigator` 查看你剪贴板中的文本：\\n\\n```python\\nfrom js import navigator\\n\\nawait navigator.clipboard.readText()\\n```\\n\\n下面这个例子，会并发发起 10 个 HTTP 请求：\\n\\n```python\\nfrom asyncio import gather\\nfrom pyodide.http import pyfetch  # 这只是 js 中 fetch 的一个包装器\\n\\nasync def f(url):\\n    res = await pyfetch(url, method=\\\"HEAD\\\", cache=\\\"no-store\\\")\\n    print(res.status, res.status_text, res.headers.get(\\\"content-type\\\"))\\n    return res.ok\\n\\nawait gather(*(f(\\\".\\\") for _ in range(10)))\\n```\\n\\n标准输入输出流也是支持的：\\n\\n```python\\nfrom sys import stdout, stderr\\n\\nstdout.write(\\\"Hello world from stdout!\\\")\\nstderr.write(\\\"Hello world from stderr!\\\")\\n\\\"你输入了：\\\" + input(\\\"请输入\\\")\\n```\\n\\n> 此项目目前仍在活跃开发中，如果你有任何反馈或建议，请随时[联系我们](https://github.com/promplate/pyth-on-line/discussions)，不胜感激！\\n\\n## 致谢\\n\\n- 该项目深受 [StackBlitz](https://stackblitz.com/)、[CodePen](https://codepen.io/) 和 [Marimo](https://github.com/marimo-team/marimo) 的启发\\n- 来自 [pyodide](https://github.com/pyodide) 的开发人员给予了大量帮助\\n\"","<script lang=\"ts\">\n  import readme from \"../../../../README.md?raw\";\n  import Notebook from \"$lib/components/notebook/Notebook.svelte\";\n</script>\n\n<Notebook text={readme} />\n"],"names":["readme"],"mappings":"qKAAA,MAAAA,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oDCKCA,CAAM,EAAA"}