參考鏈接:https://developer.aliyun.com/article/976083?spm=a2c6h.12873581.group.dArticle976083.3a8057c73DINVs
今天我們要介紹的東西,叫做PyScript,使用它,不需要安裝任何軟件。只要有一個記事本,就能寫一段HTML+Python的代碼。寫完以後,雙擊這個HTML文件,用浏覽器打開,就能直接看到Python代碼的運行結果。
假設我現在要寫一段代碼,使用高效的算法計算斐波那契數列前10項的值。現在我已經把代碼寫好了,想驗證一下它是否正確:
def fib(n):
if n in [1, 2]:
return 1
a = 1
b = 1
for _ in range(2, n):
a, b = b, a + b
return b
我的電腦上沒有Python,我也不知道任何在線的Python解釋器。怎麼辦呢?這個時候,你只需要在這個Python代碼的前後再添加一些HTML代碼,把它保存成一個.html文件就可以了:
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<body>
<py-script>
def fib(n):
if n in [1, 2]:
return 1
a = 1
b = 1
for _ in range(2, n):
a, b = b, a + b
return b
for i in range(1, 11):
print(f'第{i}項的結果是:{fib(i)}')
</py-script>
</body>
</html>
到目前為止,似乎跟那些在線的Python運行環境沒什麼區別。但PyScript更厲害的是,它自帶了一些常見的第三方庫,例如numpy或者Matplot,甚至它還可以手動安裝第三方庫。
對於它自帶的numpy和matplotlib,可以直接使用標簽聲明:
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- numpy
- matplotlib
</py-env>
</head>
<body>
<h1>Let's plot random numbers</h1>
<div id="plot"></div>
<py-script output="plot">
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
y = np.random.randn(1000)
fig, ax = plt.subplots()
ax.scatter(x, y)
fig
</py-script>
</body>
</html>