公司电脑没有管理员权限装不了 Python、想验证一段代码又懒得开 IDE——浏览器里可以直接跑真正的 Python。不是"模拟",而是把官方 CPython 解释器编译成 WebAssembly(Pyodide)后在你的浏览器里运行:语法、标准库与桌面版一致,代码不上传服务器。本文讲它能干什么、不能干什么。
适合用在线运行的 5 个场景
- 学习练习:初学语法、刷算法题,打开网页就能写,零环境配置;
- 快速验证:正则表达式、字符串处理、日期计算,粘进去秒出结果;
- 受限环境:没有管理员权限的办公电脑、借用的电脑、平板;
- 教学演示:投屏讲课,学生浏览器打开同一页面跟着写;
- 敏感片段处理:代码和执行都在本地浏览器内,不经过服务器。
支持什么?
- 完整的 Python 语法:函数、类、推导式、异常、装饰器……与桌面版一致;
- 标准库:json、re、math、datetime、collections、itertools、random 等常用库可用;
- 标准输入:支持 input() 交互式输入,算法竞赛刷题不受限。
和本地 Python 的区别(如实说明)
| 能力 | 浏览器在线运行 | 本地环境 |
|---|---|---|
| 语法与标准库 | 一致 | 一致 |
| pip 安装第三方库 | 不支持任意安装(当前以标准库为主) | 支持 |
| 访问本地文件/网络 | 沙箱限制,不能 | 可以 |
| 首次启动 | 需加载解释器(约几秒) | 即时 |
| 超长任务 | 受浏览器标签页生命周期限制 | 无限制 |
一句话:学习、验证、轻量数据处理完全够用;需要 pandas/matplotlib 等重库或操作文件的生产任务,还是要本地环境。
上手示例
打开工具页面,粘贴这段代码点"运行":
import json, random
nums = [random.randint(1, 100) for _ in range(10)]
print("随机数:", nums)
print("排序后:", sorted(nums))
print(json.dumps({"sum": sum(nums), "avg": sum(nums)/len(nums)}))
除了 Python,同一套思路还有 JavaScript、TypeScript、Lua、SQL 的在线运行器,都在代码运行频道。