Brython Python代码(截屏版本3.8.8)
Brython Python项目的开发人员发布了新版本Brython 3.9。该项目本身被定位为“浏览器的Python”。它基于Python 3并在浏览器端运行,使用Python代替JavaScript来开发Web脚本。
项目代码是用Python编写的,并根据BSD许可进行分发。新版本与Python 3.9兼容,并且标准库已更新。
为了使用Python而不是JS定义客户端站点的逻辑,Web开发人员需要包括两个库brython.js和brython_stdlib.js。为了在页面上包含Python代码,使用了MIME类型为text / python的脚本标签。 从Brython方面,既可以将代码嵌入到页面中,也可以加载外部脚本。例:
<script type="text/python" src="test.py">
脚本提供了对DOM元素和事件的完全访问权限。除了访问Python标准库外,还有一些专门的库可用于DOM和JavaScript库,例如jQuery,D3,Highcharts和Raphael。
它支持jQuery,D3,Highcharts和Raphael之类的JavaScript库使用CSS框架。
Python代码块是通过代码预编译从脚本代码块执行的,代码预编译在页面加载后由Brython引擎执行。编译通过调用brython()函数开始,例如通过追加
body onload="brython()"
。
基于Python代码,形成JS表示,然后由浏览器的标准JavaScript引擎执行。
在性能方面,嵌入在网页中的Python脚本中的大多数操作都与Cpython的性能接近。唯一的延迟发生是在编译阶段。但是可以通过预编译的JavaScript代码消除延迟,该代码用于加快标准库的加载。
<script type="text/python">
import time
import math
from browser import document
import browser.timer
content = document["content"]
...
canvas = content.select_one(".clock")
if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")
browser.timer.set_interval(set_clock, 100)
show_hours()
else:
content.select_one('.navig_zone').html = "canvas is not supported"
</script>
有关运行Brython的更多信息
为了使“浏览器的Python”能够翻译和执行JS代码之类的Python代码,您需要在加载文档正文时调用Brython。
<body onload="brython()">
在这种情况下,标记会查找text / python类型的脚本标记并运行代码。为了使用API与网络配合使用,Brython开发人员实施了一个简单的解决方案-导入API,类似于在Python中导入任何其他模块:
from browser import document, html, window
Brython可以自行处理所有内容,因此您无需运行其他命令。
重要一点-使用Brython,您需要至少具有基本水平的JavaScript经验。没有这个,将很难解决。